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
- HttpModulesSection.cs
- XmlEntity.cs
- InkPresenter.cs
- EntityDataSourceSelectingEventArgs.cs
- ReadOnlyNameValueCollection.cs
- MultiPropertyDescriptorGridEntry.cs
- ArithmeticException.cs
- ChangeBlockUndoRecord.cs
- SizeValueSerializer.cs
- LineInfo.cs
- PropertyGrid.cs
- DataTablePropertyDescriptor.cs
- Registry.cs
- TableRowsCollectionEditor.cs
- TemplateColumn.cs
- SelectedGridItemChangedEvent.cs
- COM2FontConverter.cs
- SizeF.cs
- ToolBarDesigner.cs
- ListItemConverter.cs
- GCHandleCookieTable.cs
- Function.cs
- PostBackTrigger.cs
- PreviewPageInfo.cs
- SchemaTypeEmitter.cs
- XsltContext.cs
- ClientSettingsSection.cs
- KoreanLunisolarCalendar.cs
- NativeMethods.cs
- EntityDataSourceSelectedEventArgs.cs
- CreateUserWizardStep.cs
- AutomationElementIdentifiers.cs
- ExpandableObjectConverter.cs
- SpeechDetectedEventArgs.cs
- NavigateEvent.cs
- FileSystemInfo.cs
- UpdateException.cs
- RemoteHelper.cs
- AssemblySettingAttributes.cs
- ScrollViewer.cs
- IgnoreSection.cs
- WmlSelectionListAdapter.cs
- ActionFrame.cs
- SynchronizedInputAdaptor.cs
- QueryComponents.cs
- InternalConfigSettingsFactory.cs
- ButtonBase.cs
- XhtmlBasicPhoneCallAdapter.cs
- StackOverflowException.cs
- SelectionEditor.cs
- DataRelationPropertyDescriptor.cs
- ValueUnavailableException.cs
- GroupBox.cs
- XmlDocumentFieldSchema.cs
- HeaderedContentControl.cs
- Int64Storage.cs
- FormsAuthenticationTicket.cs
- SystemWebSectionGroup.cs
- ActiveXHelper.cs
- MailWebEventProvider.cs
- ResourceBinder.cs
- EtwTrackingParticipant.cs
- ObjectDisposedException.cs
- Dump.cs
- HtmlProps.cs
- RowToParametersTransformer.cs
- ContainerFilterService.cs
- PathData.cs
- safemediahandle.cs
- _FtpControlStream.cs
- NameScopePropertyAttribute.cs
- ListItemCollection.cs
- AppDomainUnloadedException.cs
- WebPartTransformerCollection.cs
- UrlMappingsModule.cs
- InternalConfigHost.cs
- ExpressionBindings.cs
- XmlValidatingReaderImpl.cs
- HttpServerProtocol.cs
- SecUtil.cs
- PowerModeChangedEventArgs.cs
- EntitySet.cs
- EventLogHandle.cs
- ExpandableObjectConverter.cs
- RenderOptions.cs
- ProtocolsConfiguration.cs
- System.Data.OracleClient_BID.cs
- TableParagraph.cs
- DBCommand.cs
- DecimalKeyFrameCollection.cs
- SolidBrush.cs
- XdrBuilder.cs
- EntityConnection.cs
- ExpressionBuilder.cs
- FeatureAttribute.cs
- WebServiceFault.cs
- StylusPoint.cs
- StrokeNode.cs
- TextSelectionProcessor.cs
- DiscreteKeyFrames.cs