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
- Line.cs
- SerialPort.cs
- SystemIcmpV6Statistics.cs
- TypeConverters.cs
- TextServicesManager.cs
- PeerObject.cs
- DataGridViewSelectedRowCollection.cs
- WeakReadOnlyCollection.cs
- GPPOINTF.cs
- WebPartsPersonalizationAuthorization.cs
- PropertyCollection.cs
- FixUp.cs
- KeyPullup.cs
- SystemInformation.cs
- GridSplitter.cs
- XPathAxisIterator.cs
- CalendarAutoFormatDialog.cs
- XsltQilFactory.cs
- DoubleLinkList.cs
- TimeSpanValidator.cs
- ServiceDescriptionData.cs
- SortAction.cs
- StrokeNode.cs
- CreateUserWizard.cs
- TypeConverter.cs
- GlobalizationAssembly.cs
- CharConverter.cs
- DataGridViewCellMouseEventArgs.cs
- CharacterMetricsDictionary.cs
- Section.cs
- AppSettingsReader.cs
- IgnorePropertiesAttribute.cs
- CodeTypeConstructor.cs
- newinstructionaction.cs
- HtmlObjectListAdapter.cs
- XmlAtomicValue.cs
- NotifyParentPropertyAttribute.cs
- SetterBaseCollection.cs
- WebPartDisplayMode.cs
- TransmissionStrategy.cs
- HttpModuleActionCollection.cs
- RootBrowserWindow.cs
- MappingMetadataHelper.cs
- RadioButtonFlatAdapter.cs
- JournalEntryListConverter.cs
- ClientTarget.cs
- PersonalizationStateInfoCollection.cs
- UIElementHelper.cs
- BidPrivateBase.cs
- AmbientLight.cs
- ScriptServiceAttribute.cs
- GroupBoxAutomationPeer.cs
- DockProviderWrapper.cs
- ApplicationTrust.cs
- ProjectionPlanCompiler.cs
- SemanticResultValue.cs
- CapabilitiesPattern.cs
- GlyphRunDrawing.cs
- BinHexDecoder.cs
- Buffer.cs
- CultureTable.cs
- ContentTypeSettingClientMessageFormatter.cs
- StylusPointCollection.cs
- ThreadStaticAttribute.cs
- IteratorFilter.cs
- BaseTemplateBuildProvider.cs
- ErrorFormatterPage.cs
- XmlToDatasetMap.cs
- TreeBuilderXamlTranslator.cs
- FileCodeGroup.cs
- MediaPlayer.cs
- Selector.cs
- HostProtectionPermission.cs
- CacheEntry.cs
- GroupBoxRenderer.cs
- AnnotationAuthorChangedEventArgs.cs
- CommandBinding.cs
- InvokePattern.cs
- DesignOnlyAttribute.cs
- ImageMapEventArgs.cs
- KeyToListMap.cs
- OperationAbortedException.cs
- ModelPerspective.cs
- GroupByQueryOperator.cs
- DbResourceAllocator.cs
- SqlLiftWhereClauses.cs
- TypeDelegator.cs
- Thickness.cs
- XmlSerializerSection.cs
- SoapElementAttribute.cs
- ConstructorNeedsTagAttribute.cs
- MSHTMLHostUtil.cs
- LinqDataSourceValidationException.cs
- SemaphoreFullException.cs
- GrammarBuilder.cs
- CapabilitiesAssignment.cs
- BulletDecorator.cs
- XMLUtil.cs
- Matrix3DStack.cs
- UdpDuplexChannel.cs