Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / CompMod / System / ComponentModel / Design / ToolboxItemAttribute.cs / 1305376 / ToolboxItemAttribute.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
// SECREVIEW: remove this attribute once bug#411883 is fixed.
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2113:SecureLateBindingMethods", Scope="member", Target="System.ComponentModel.ToolboxItemAttribute.get_ToolboxItemType():System.Type")]
namespace System.ComponentModel {
using System;
using System.Diagnostics;
using System.Globalization;
using System.Security.Permissions;
///
///
/// Specifies attributes for a toolbox item.
///
///
[AttributeUsage(AttributeTargets.All)]
public class ToolboxItemAttribute : Attribute {
private Type toolboxItemType;
private string toolboxItemTypeName;
///
///
/// Initializes a new instance of ToolboxItemAttribute and sets the type to
/// IComponent.
///
///
public static readonly ToolboxItemAttribute Default = new ToolboxItemAttribute("System.Drawing.Design.ToolboxItem, " + AssemblyRef.SystemDrawing);
///
///
/// Initializes a new instance of ToolboxItemAttribute and sets the type to
/// .
///
///
public static readonly ToolboxItemAttribute None = new ToolboxItemAttribute(false);
///
///
/// Gets whether the attribute is the default attribute.
///
///
public override bool IsDefaultAttribute() {
return this.Equals(Default);
}
///
///
/// Initializes a new instance of ToolboxItemAttribute and
/// specifies if default values should be used.
///
///
public ToolboxItemAttribute(bool defaultType) {
if (defaultType) {
toolboxItemTypeName = "System.Drawing.Design.ToolboxItem, " + AssemblyRef.SystemDrawing;
}
}
///
///
/// Initializes a new instance of ToolboxItemAttribute and
/// specifies the name of the type.
///
///
public ToolboxItemAttribute(string toolboxItemTypeName) {
string temp = toolboxItemTypeName.ToUpper(CultureInfo.InvariantCulture);
Debug.Assert(temp.IndexOf(".DLL") == -1, "Came across: " + toolboxItemTypeName + " . Please remove the .dll extension");
this.toolboxItemTypeName = toolboxItemTypeName;
}
///
///
/// Initializes a new instance of ToolboxItemAttribute and
/// specifies the type of the toolbox item.
///
///
public ToolboxItemAttribute(Type toolboxItemType) {
this.toolboxItemType = toolboxItemType;
this.toolboxItemTypeName = toolboxItemType.AssemblyQualifiedName;
}
///
///
/// Gets the toolbox item's type.
///
///
public Type ToolboxItemType {
get{
if (toolboxItemType == null) {
if (toolboxItemTypeName != null) {
try {
toolboxItemType = Type.GetType(toolboxItemTypeName, true);
}
catch (Exception ex) {
throw new ArgumentException(SR.GetString(SR.ToolboxItemAttributeFailedGetType, toolboxItemTypeName), ex);
}
}
}
return toolboxItemType;
}
}
public string ToolboxItemTypeName {
get {
if (toolboxItemTypeName == null) {
return String.Empty;
}
return toolboxItemTypeName;
}
}
public override bool Equals(object obj) {
if (obj == this) {
return true;
}
ToolboxItemAttribute other = obj as ToolboxItemAttribute;
return (other != null) && (other.ToolboxItemTypeName == ToolboxItemTypeName);
}
public override int GetHashCode() {
if (toolboxItemTypeName != null) {
return toolboxItemTypeName.GetHashCode();
}
return base.GetHashCode();
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XNameConverter.cs
- CodeMemberMethod.cs
- ObjectStateManagerMetadata.cs
- RelationshipManager.cs
- METAHEADER.cs
- safelinkcollection.cs
- ComponentConverter.cs
- Cursors.cs
- BaseValidator.cs
- BaseDataListPage.cs
- returneventsaver.cs
- WebReferencesBuildProvider.cs
- RadioButtonBaseAdapter.cs
- CacheMemory.cs
- _ScatterGatherBuffers.cs
- XamlWriter.cs
- Vector3DKeyFrameCollection.cs
- ImmComposition.cs
- AlphabeticalEnumConverter.cs
- State.cs
- RouteItem.cs
- ScrollProperties.cs
- PnrpPermission.cs
- EnumValAlphaComparer.cs
- ConsumerConnectionPointCollection.cs
- TableCell.cs
- FtpWebResponse.cs
- TraceEventCache.cs
- SurrogateSelector.cs
- AuthorizationRule.cs
- StickyNoteHelper.cs
- PartialCachingControl.cs
- DefaultClaimSet.cs
- DataGridTextBox.cs
- SchemaLookupTable.cs
- InvalidAsynchronousStateException.cs
- AssemblyLoader.cs
- Choices.cs
- FlowDocumentPaginator.cs
- WinFormsSpinner.cs
- DataPagerFieldCommandEventArgs.cs
- AsyncOperation.cs
- HashHelper.cs
- ExecutedRoutedEventArgs.cs
- HttpFileCollection.cs
- AsymmetricKeyExchangeDeformatter.cs
- OdbcDataReader.cs
- Tablet.cs
- WinInet.cs
- CatalogZoneBase.cs
- XmlSchemaImporter.cs
- NotifyIcon.cs
- WorkflowIdleElement.cs
- BitmapCodecInfo.cs
- SqlOuterApplyReducer.cs
- FormViewDesigner.cs
- SimpleHandlerBuildProvider.cs
- Vector3dCollection.cs
- SignatureDescription.cs
- WorkflowServiceAttributesTypeConverter.cs
- odbcmetadatafactory.cs
- TransactionManager.cs
- ProfileGroupSettingsCollection.cs
- FreezableCollection.cs
- TrackingDataItemValue.cs
- Floater.cs
- AbsoluteQuery.cs
- Geometry3D.cs
- DefaultWorkflowTransactionService.cs
- RegexRunnerFactory.cs
- UserMapPath.cs
- LockedAssemblyCache.cs
- SectionInformation.cs
- DataGridViewIntLinkedList.cs
- DbConnectionHelper.cs
- GradientBrush.cs
- Aggregates.cs
- Char.cs
- CodeStatementCollection.cs
- TextBreakpoint.cs
- SortAction.cs
- DefaultSection.cs
- DataList.cs
- Currency.cs
- FillRuleValidation.cs
- QueryResponse.cs
- DbDataRecord.cs
- Item.cs
- IdentityElement.cs
- ValidateNames.cs
- ThreadStateException.cs
- QueryReaderSettings.cs
- FormsIdentity.cs
- Package.cs
- GridEntryCollection.cs
- DesignerPerfEventProvider.cs
- FixedFindEngine.cs
- ConfigXmlSignificantWhitespace.cs
- TreeNodeConverter.cs
- SafeCloseHandleCritical.cs