Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / CompMod / System / ComponentModel / Design / ToolboxItemAttribute.cs / 1 / 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();
}
}
}
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TemplatePropertyEntry.cs
- MSAAEventDispatcher.cs
- GACMembershipCondition.cs
- ClientOptions.cs
- DesignerImageAdapter.cs
- KeyboardEventArgs.cs
- CalendarTable.cs
- EventLogPermissionEntry.cs
- TableSectionStyle.cs
- ChildTable.cs
- LinkLabelLinkClickedEvent.cs
- KeyboardDevice.cs
- _FtpControlStream.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- MD5HashHelper.cs
- RequestCachePolicy.cs
- TdsValueSetter.cs
- PrintDialog.cs
- XmlSchemaValidationException.cs
- XmlFormatReaderGenerator.cs
- BinaryMethodMessage.cs
- DesignerValidatorAdapter.cs
- UxThemeWrapper.cs
- ScrollItemPattern.cs
- XmlSerializerAssemblyAttribute.cs
- Catch.cs
- BitmapEffectInput.cs
- WebPartChrome.cs
- TypeSystem.cs
- HitTestDrawingContextWalker.cs
- MeshGeometry3D.cs
- HttpCacheParams.cs
- BlurBitmapEffect.cs
- CodeNamespaceCollection.cs
- ApplicationTrust.cs
- CompilerInfo.cs
- Style.cs
- x509utils.cs
- DoubleCollection.cs
- Matrix.cs
- BuiltInExpr.cs
- PathGradientBrush.cs
- WorkerRequest.cs
- CloseSequenceResponse.cs
- Matrix.cs
- MainMenu.cs
- UnsafeNativeMethodsMilCoreApi.cs
- XsltQilFactory.cs
- MessageEncoderFactory.cs
- SqlWebEventProvider.cs
- SQLChars.cs
- SqlBulkCopyColumnMapping.cs
- EventBuilder.cs
- EventLogger.cs
- DelegateArgumentReference.cs
- RegistryExceptionHelper.cs
- CachedTypeface.cs
- MultipleViewProviderWrapper.cs
- TextFormatterContext.cs
- ParallelQuery.cs
- StdValidatorsAndConverters.cs
- InputElement.cs
- JsonSerializer.cs
- RectangleHotSpot.cs
- MessageQueuePermissionAttribute.cs
- HealthMonitoringSectionHelper.cs
- BezierSegment.cs
- PassportAuthentication.cs
- RedirectionProxy.cs
- EntityClassGenerator.cs
- MaskedTextBoxDesigner.cs
- ParenthesizePropertyNameAttribute.cs
- WebPartsSection.cs
- SmiContext.cs
- SubtreeProcessor.cs
- SingleAnimationBase.cs
- PresentationAppDomainManager.cs
- GeometryValueSerializer.cs
- DbModificationCommandTree.cs
- SecureStringHasher.cs
- FrameworkElementAutomationPeer.cs
- DataListCommandEventArgs.cs
- ClientTargetCollection.cs
- ParseChildrenAsPropertiesAttribute.cs
- SQLGuidStorage.cs
- BaseDataList.cs
- CellIdBoolean.cs
- HttpPostedFileWrapper.cs
- SafeLocalAllocation.cs
- DetailsViewDeletedEventArgs.cs
- DataGridRelationshipRow.cs
- SafeCryptHandles.cs
- MaskedTextProvider.cs
- FacetValueContainer.cs
- TypeHelper.cs
- ToolStripItemEventArgs.cs
- CodeTypeMember.cs
- SigningCredentials.cs
- AlternateViewCollection.cs
- SqlInternalConnection.cs