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
- ItemList.cs
- UITypeEditor.cs
- LinkedResource.cs
- XsdBuildProvider.cs
- ContentElement.cs
- InnerItemCollectionView.cs
- Empty.cs
- FileInfo.cs
- PropertyNames.cs
- StreamInfo.cs
- Stream.cs
- Buffer.cs
- Propagator.ExtentPlaceholderCreator.cs
- EventData.cs
- SQLDoubleStorage.cs
- SoapExtensionStream.cs
- XmlNullResolver.cs
- SimpleTypesSurrogate.cs
- util.cs
- ListViewItem.cs
- StrongNameUtility.cs
- MaxSessionCountExceededException.cs
- SqlPersonalizationProvider.cs
- WebPermission.cs
- CodeDomDesignerLoader.cs
- ChtmlTextBoxAdapter.cs
- RotateTransform.cs
- UnregisterInfo.cs
- FunctionNode.cs
- ScaleTransform.cs
- WindowInteropHelper.cs
- StateMachine.cs
- ProfileInfo.cs
- XmlILModule.cs
- ResizeGrip.cs
- EntityProxyFactory.cs
- Transaction.cs
- TablePattern.cs
- TextDpi.cs
- Rfc2898DeriveBytes.cs
- UnsafeNativeMethods.cs
- HtmlForm.cs
- unsafeIndexingFilterStream.cs
- TrackingRecord.cs
- AliasGenerator.cs
- DefinitionUpdate.cs
- Thickness.cs
- ClonableStack.cs
- AmbientProperties.cs
- DocumentViewerBaseAutomationPeer.cs
- MILUtilities.cs
- StylusDevice.cs
- RoleManagerEventArgs.cs
- ThrowHelper.cs
- JapaneseCalendar.cs
- FixedSOMTableCell.cs
- PathFigure.cs
- WebPartConnectionsConfigureVerb.cs
- CharacterString.cs
- BackgroundFormatInfo.cs
- TreeNodeCollection.cs
- HostVisual.cs
- ResizeBehavior.cs
- SecurityTokenProvider.cs
- OleDbSchemaGuid.cs
- ApplicationFileCodeDomTreeGenerator.cs
- DataGridViewRowHeaderCell.cs
- DataError.cs
- Part.cs
- ToolStripDropDownMenu.cs
- PassportPrincipal.cs
- IsolationInterop.cs
- HiddenFieldPageStatePersister.cs
- DecoderExceptionFallback.cs
- RtfControlWordInfo.cs
- SystemIPGlobalStatistics.cs
- Funcletizer.cs
- MobileErrorInfo.cs
- WindowsIPAddress.cs
- EventMappingSettings.cs
- TextBounds.cs
- TagPrefixAttribute.cs
- ResourceSet.cs
- OleDbCommandBuilder.cs
- ImageInfo.cs
- PersistenceParticipant.cs
- Literal.cs
- SafeArrayRankMismatchException.cs
- DictionaryEntry.cs
- NonParentingControl.cs
- DockPanel.cs
- ControlPaint.cs
- ConfigurationException.cs
- CreateUserErrorEventArgs.cs
- XmlSchemaAttribute.cs
- SystemIcmpV6Statistics.cs
- EventLevel.cs
- CompilerTypeWithParams.cs
- processwaithandle.cs
- Point.cs