Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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();
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// 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
- FlowDocumentScrollViewer.cs
- EventMappingSettingsCollection.cs
- EntityContainerEntitySet.cs
- PageBuildProvider.cs
- ValueTable.cs
- XmlDataSourceView.cs
- ControlParameter.cs
- OutgoingWebRequestContext.cs
- PeerName.cs
- FullTextLine.cs
- XmlFormatMapping.cs
- MessageBox.cs
- InternalUserCancelledException.cs
- ProfileGroupSettings.cs
- WpfKnownType.cs
- BinaryMethodMessage.cs
- DataGridViewSelectedCellsAccessibleObject.cs
- DbMetaDataFactory.cs
- CallSite.cs
- UserControlDocumentDesigner.cs
- EntityRecordInfo.cs
- QilInvoke.cs
- DetailsViewModeEventArgs.cs
- XmlValidatingReaderImpl.cs
- VerbConverter.cs
- SystemGatewayIPAddressInformation.cs
- Substitution.cs
- DefaultTextStore.cs
- PreservationFileWriter.cs
- ETagAttribute.cs
- WebPartEditorApplyVerb.cs
- StoryFragments.cs
- FontCollection.cs
- TaskFileService.cs
- WeakReferenceList.cs
- FixedSOMLineCollection.cs
- UndoManager.cs
- BitmapDownload.cs
- SectionInformation.cs
- SuppressIldasmAttribute.cs
- ConnectorEditor.cs
- SemanticResolver.cs
- NativeMethodsCLR.cs
- TypeConverterHelper.cs
- DoubleKeyFrameCollection.cs
- PersistenceContextEnlistment.cs
- QueryCursorEventArgs.cs
- arabicshape.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- TemplatePagerField.cs
- DataGridComponentEditor.cs
- DocumentOrderQuery.cs
- MouseGestureValueSerializer.cs
- KeyFrames.cs
- Encoder.cs
- TrackingDataItemValue.cs
- FontCacheLogic.cs
- XmlSchemaNotation.cs
- Stroke.cs
- PopupEventArgs.cs
- SystemInfo.cs
- HuffModule.cs
- Oid.cs
- X509CertificateChain.cs
- FlowDocumentPageViewerAutomationPeer.cs
- CommandDevice.cs
- CodeSnippetExpression.cs
- ProviderConnectionPointCollection.cs
- FrameDimension.cs
- NameObjectCollectionBase.cs
- ValidationSettings.cs
- TabRenderer.cs
- TextElementEnumerator.cs
- MexHttpsBindingElement.cs
- CodeStatement.cs
- WindowsStatic.cs
- SoapInteropTypes.cs
- QilExpression.cs
- DataReceivedEventArgs.cs
- OleDbInfoMessageEvent.cs
- DecoderReplacementFallback.cs
- NotifyIcon.cs
- SecondaryIndexDefinition.cs
- CoreSwitches.cs
- PolicyUnit.cs
- RegexMatchCollection.cs
- SchemaContext.cs
- WS2007HttpBindingCollectionElement.cs
- SafeEventHandle.cs
- PartialTrustVisibleAssembly.cs
- sqlstateclientmanager.cs
- ListSourceHelper.cs
- LocatorBase.cs
- DesignTimeParseData.cs
- RepeatButton.cs
- Pointer.cs
- WorkflowViewService.cs
- XamlInt32CollectionSerializer.cs
- SiteMapNode.cs
- WaitHandleCannotBeOpenedException.cs