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
- EmptyElement.cs
- IdentitySection.cs
- Group.cs
- ObjectComplexPropertyMapping.cs
- SmiRecordBuffer.cs
- StorageEntityTypeMapping.cs
- FtpWebResponse.cs
- OdbcParameter.cs
- PartitionedStreamMerger.cs
- ObjectRef.cs
- SourceCollection.cs
- TableProviderWrapper.cs
- CacheForPrimitiveTypes.cs
- ListSortDescriptionCollection.cs
- SQLMoney.cs
- TypeUnloadedException.cs
- ReflectPropertyDescriptor.cs
- CallTemplateAction.cs
- SafeTimerHandle.cs
- RequestTimeoutManager.cs
- OdbcPermission.cs
- Transform.cs
- TextBreakpoint.cs
- PropertyGeneratedEventArgs.cs
- CacheMemory.cs
- PrePrepareMethodAttribute.cs
- XmlCDATASection.cs
- VisualTreeUtils.cs
- SessionStateUtil.cs
- QuadraticBezierSegment.cs
- HttpClientCredentialType.cs
- SchemaType.cs
- CursorConverter.cs
- SamlAuthenticationClaimResource.cs
- ContractTypeNameCollection.cs
- List.cs
- LogRecordSequence.cs
- XmlAnyAttributeAttribute.cs
- TypeHelper.cs
- WindowsUpDown.cs
- PointIndependentAnimationStorage.cs
- ValidationErrorCollection.cs
- RadioButton.cs
- TriState.cs
- ToolboxItemFilterAttribute.cs
- DisplayMemberTemplateSelector.cs
- Exceptions.cs
- CurrencyManager.cs
- FontDriver.cs
- AspCompat.cs
- SchemaSetCompiler.cs
- DataGridColumnEventArgs.cs
- CategoryEditor.cs
- TemplatedWizardStep.cs
- VolatileResourceManager.cs
- PrefixQName.cs
- TransformGroup.cs
- DbConnectionClosed.cs
- PerspectiveCamera.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- SmtpFailedRecipientException.cs
- ModuleElement.cs
- Library.cs
- QueryOutputWriter.cs
- NamespaceMapping.cs
- SessionStateContainer.cs
- ClassDataContract.cs
- StatementContext.cs
- validation.cs
- ExceptionHandler.cs
- Directory.cs
- Calendar.cs
- KeyboardEventArgs.cs
- ScrollViewer.cs
- OracleRowUpdatingEventArgs.cs
- DataObjectCopyingEventArgs.cs
- IProvider.cs
- RoleGroupCollection.cs
- URLString.cs
- Block.cs
- DefaultValueTypeConverter.cs
- SmuggledIUnknown.cs
- SqlLiftIndependentRowExpressions.cs
- Application.cs
- Stroke.cs
- StylusPointCollection.cs
- URLBuilder.cs
- ListControlDataBindingHandler.cs
- TagMapCollection.cs
- Literal.cs
- OrthographicCamera.cs
- TypeElement.cs
- OleDbTransaction.cs
- DateTimeConstantAttribute.cs
- SplitterPanelDesigner.cs
- Serializer.cs
- IdleTimeoutMonitor.cs
- RequestCacheValidator.cs
- FilterQuery.cs
- BaseComponentEditor.cs