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
- ListMarkerLine.cs
- ResourceExpressionBuilder.cs
- EngineSite.cs
- DataServiceStreamResponse.cs
- AesCryptoServiceProvider.cs
- HtmlInputControl.cs
- BitmapEffectGroup.cs
- TextEditorCharacters.cs
- TextEvent.cs
- DispatcherEventArgs.cs
- BuildProviderCollection.cs
- HtmlTableRowCollection.cs
- WebDescriptionAttribute.cs
- PanelStyle.cs
- WebScriptServiceHost.cs
- GcSettings.cs
- ComponentCollection.cs
- ListControl.cs
- Int64Animation.cs
- IPEndPointCollection.cs
- MessageSecurityVersionConverter.cs
- DrawingVisualDrawingContext.cs
- StringUtil.cs
- RtfControlWordInfo.cs
- Point3DAnimationBase.cs
- userdatakeys.cs
- XPathDocumentBuilder.cs
- ObjectListTitleAttribute.cs
- ControlBuilder.cs
- CornerRadiusConverter.cs
- Viewport2DVisual3D.cs
- OleDbParameterCollection.cs
- ProxyHelper.cs
- ColorTranslator.cs
- AuthenticateEventArgs.cs
- CutCopyPasteHelper.cs
- DbConnectionStringCommon.cs
- TabletDeviceInfo.cs
- RegisteredArrayDeclaration.cs
- PkcsUtils.cs
- SecurityImpersonationBehavior.cs
- ExceptionHelpers.cs
- WebHttpBehavior.cs
- DateTimeSerializationSection.cs
- CodeSnippetStatement.cs
- HttpListener.cs
- RegexRunnerFactory.cs
- AccessViolationException.cs
- SimpleApplicationHost.cs
- uribuilder.cs
- CaseInsensitiveHashCodeProvider.cs
- SQLGuidStorage.cs
- ScrollBarRenderer.cs
- RMEnrollmentPage2.cs
- HostingEnvironmentException.cs
- TrackBarRenderer.cs
- LineBreakRecord.cs
- RefreshEventArgs.cs
- Journal.cs
- Activity.cs
- SecurityPolicySection.cs
- MultiAsyncResult.cs
- ItemDragEvent.cs
- TableAutomationPeer.cs
- ResourceReferenceKeyNotFoundException.cs
- TraceHwndHost.cs
- UserPreferenceChangedEventArgs.cs
- CharacterBuffer.cs
- LongValidator.cs
- PassportAuthentication.cs
- DependencyObjectValidator.cs
- TabletCollection.cs
- ColumnTypeConverter.cs
- ControlPropertyNameConverter.cs
- NonVisualControlAttribute.cs
- QueryStringHandler.cs
- TimeIntervalCollection.cs
- Psha1DerivedKeyGenerator.cs
- UnsafeNativeMethodsTablet.cs
- RouteItem.cs
- OleDbParameter.cs
- TextTreeUndoUnit.cs
- TextEndOfSegment.cs
- GlyphingCache.cs
- ReferentialConstraint.cs
- OleDbPropertySetGuid.cs
- FlowDocumentView.cs
- EntityReference.cs
- WebEventCodes.cs
- ThreadExceptionDialog.cs
- ReflectionPermission.cs
- MetaDataInfo.cs
- PropertyValueChangedEvent.cs
- StdValidatorsAndConverters.cs
- DbConnectionPoolGroupProviderInfo.cs
- Timer.cs
- HatchBrush.cs
- ConnectionInterfaceCollection.cs
- GlyphsSerializer.cs
- UpnEndpointIdentity.cs