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
- StorageModelBuildProvider.cs
- DirectionalLight.cs
- Scene3D.cs
- ComponentEvent.cs
- CqlLexerHelpers.cs
- FormsAuthenticationUser.cs
- PassportAuthentication.cs
- MatrixIndependentAnimationStorage.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- ArithmeticException.cs
- DecodeHelper.cs
- OneOfConst.cs
- WeakReferenceList.cs
- SelectedGridItemChangedEvent.cs
- UnmanagedHandle.cs
- Facet.cs
- SmtpNetworkElement.cs
- HttpRawResponse.cs
- MatrixCamera.cs
- ColorConvertedBitmap.cs
- XPathAncestorQuery.cs
- ScrollProperties.cs
- CounterSample.cs
- DBSqlParserColumn.cs
- CuspData.cs
- MenuRenderer.cs
- Figure.cs
- DataGridItemEventArgs.cs
- SchemaEntity.cs
- SafeHandle.cs
- ChtmlTextWriter.cs
- AspProxy.cs
- Resources.Designer.cs
- MissingMemberException.cs
- ConnectionsZoneAutoFormat.cs
- RegexEditorDialog.cs
- GZipUtils.cs
- StandardOleMarshalObject.cs
- Soap12ProtocolImporter.cs
- XamlGridLengthSerializer.cs
- NumberFunctions.cs
- UIElementIsland.cs
- DynamicMethod.cs
- GestureRecognitionResult.cs
- ToolStripRenderer.cs
- _DisconnectOverlappedAsyncResult.cs
- RayMeshGeometry3DHitTestResult.cs
- ConfigXmlText.cs
- JsonFormatReaderGenerator.cs
- DBConnectionString.cs
- Size3DValueSerializer.cs
- LogLogRecord.cs
- StrongNameUtility.cs
- AssemblyBuilderData.cs
- XmlHierarchicalEnumerable.cs
- TextTrailingWordEllipsis.cs
- Serializer.cs
- ILGen.cs
- StyleBamlTreeBuilder.cs
- DeobfuscatingStream.cs
- IncrementalReadDecoders.cs
- Switch.cs
- TimeManager.cs
- TextElementCollection.cs
- Rotation3DAnimation.cs
- RowSpanVector.cs
- PathParser.cs
- OutputCacheProfileCollection.cs
- ScriptControl.cs
- RelatedCurrencyManager.cs
- ToolStripPanel.cs
- UdpChannelListener.cs
- safex509handles.cs
- TypeExtension.cs
- ToolBar.cs
- ConfigXmlComment.cs
- TableLayoutPanelCellPosition.cs
- DataGridViewRow.cs
- BaseParser.cs
- ConsoleCancelEventArgs.cs
- XmlSchemaExporter.cs
- GeometryValueSerializer.cs
- DataControlButton.cs
- HeaderUtility.cs
- UInt64Converter.cs
- LiteralLink.cs
- _LocalDataStoreMgr.cs
- DataGridViewTextBoxEditingControl.cs
- DataGridRowHeaderAutomationPeer.cs
- FilteredReadOnlyMetadataCollection.cs
- ByteAnimationUsingKeyFrames.cs
- InfoCardRSAOAEPKeyExchangeDeformatter.cs
- ContentPosition.cs
- SchemaSetCompiler.cs
- FileVersionInfo.cs
- DisableDpiAwarenessAttribute.cs
- CalendarDateRange.cs
- Timeline.cs
- x509store.cs
- DataPagerFieldItem.cs