Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / CompMod / System / ComponentModel / EditorAttribute.cs / 1305376 / EditorAttribute.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
/*
*/
namespace System.ComponentModel {
using System.Diagnostics;
using System.Globalization;
using System.Security.Permissions;
///
/// Specifies the editor to use to change a property. This class cannot be inherited.
///
[AttributeUsage(AttributeTargets.All, AllowMultiple = true, Inherited = true)]
public sealed class EditorAttribute : Attribute {
private string baseTypeName;
private string typeName;
private string typeId;
///
/// Initializes a new instance of the class with the default editor, which is
/// no editor.
///
public EditorAttribute() {
this.typeName = string.Empty;
this.baseTypeName = string.Empty;
}
///
/// Initializes a new instance of the class with the type name and base type
/// name of the editor.
///
public EditorAttribute(string typeName, string baseTypeName) {
string temp = typeName.ToUpper(CultureInfo.InvariantCulture);
Debug.Assert(temp.IndexOf(".DLL") == -1, "Came across: " + typeName + " . Please remove the .dll extension");
this.typeName = typeName;
this.baseTypeName = baseTypeName;
}
///
/// Initializes a new instance of the class.
///
public EditorAttribute(string typeName, Type baseType) {
string temp = typeName.ToUpper(CultureInfo.InvariantCulture);
Debug.Assert(temp.IndexOf(".DLL") == -1, "Came across: " + typeName + " . Please remove the .dll extension");
this.typeName = typeName;
this.baseTypeName = baseType.AssemblyQualifiedName;
}
///
/// Initializes a new instance of the
/// class.
///
public EditorAttribute(Type type, Type baseType) {
this.typeName = type.AssemblyQualifiedName;
this.baseTypeName = baseType.AssemblyQualifiedName;
}
///
/// Gets the name of the base class or interface serving as a lookup key for this editor.
///
public string EditorBaseTypeName {
get {
return baseTypeName;
}
}
///
/// Gets the name of the editor class.
///
public string EditorTypeName {
get {
return typeName;
}
}
///
///
///
/// This defines a unique ID for this attribute type. It is used
/// by filtering algorithms to identify two attributes that are
/// the same type. For most attributes, this just returns the
/// Type instance for the attribute. EditorAttribute overrides
/// this to include the type of the editor base type.
///
///
public override object TypeId {
get {
if (typeId == null) {
string baseType = baseTypeName;
int comma = baseType.IndexOf(',');
if (comma != -1) {
baseType = baseType.Substring(0, comma);
}
typeId = GetType().FullName + baseType;
}
return typeId;
}
}
public override bool Equals(object obj) {
if (obj == this) {
return true;
}
EditorAttribute other = obj as EditorAttribute;
return (other != null) && other.typeName == typeName && other.baseTypeName == baseTypeName;
}
public override int 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
- WeakHashtable.cs
- ProvidePropertyAttribute.cs
- DotNetATv1WindowsLogEntrySerializer.cs
- LocatorManager.cs
- GeneratedCodeAttribute.cs
- _IPv6Address.cs
- SequentialOutput.cs
- CachedFontFamily.cs
- ConfigXmlSignificantWhitespace.cs
- Soap12ProtocolImporter.cs
- AspNetCompatibilityRequirementsMode.cs
- LostFocusEventManager.cs
- DataGridColumnStyleMappingNameEditor.cs
- IndexedGlyphRun.cs
- ExpressionNode.cs
- WinInet.cs
- AttributeCollection.cs
- DrawingContextDrawingContextWalker.cs
- ChannelReliableSession.cs
- SoapTransportImporter.cs
- MethodBuilder.cs
- BuildProviderUtils.cs
- BitmapSource.cs
- UnaryOperationBinder.cs
- XmlSchemaObject.cs
- DocumentEventArgs.cs
- Serializer.cs
- PersianCalendar.cs
- DataGridViewMethods.cs
- MailDefinition.cs
- QilFactory.cs
- XPathItem.cs
- MenuItemAutomationPeer.cs
- EmbossBitmapEffect.cs
- ToolStripComboBox.cs
- ErrorRuntimeConfig.cs
- ObjectSecurity.cs
- WebSysDisplayNameAttribute.cs
- MethodImplAttribute.cs
- SqlFileStream.cs
- CssStyleCollection.cs
- PeerChannelListener.cs
- XmlReflectionImporter.cs
- DataServices.cs
- WebPartEditorApplyVerb.cs
- ContextStaticAttribute.cs
- EventSourceCreationData.cs
- CodeCastExpression.cs
- MultiViewDesigner.cs
- SignedInfo.cs
- ControlBuilderAttribute.cs
- TargetPerspective.cs
- QuaternionAnimationBase.cs
- PropagatorResult.cs
- QilLiteral.cs
- EmissiveMaterial.cs
- SimpleTextLine.cs
- ExpressionNode.cs
- HostedImpersonationContext.cs
- MimeParameters.cs
- DataKeyArray.cs
- ValidationPropertyAttribute.cs
- InstanceHandle.cs
- EntitySqlQueryCacheEntry.cs
- XPathSelectionIterator.cs
- WindowsServiceCredential.cs
- SerializerWriterEventHandlers.cs
- GPRECT.cs
- File.cs
- ObjectParameterCollection.cs
- ConfigurationSectionHelper.cs
- ParameterToken.cs
- WeakHashtable.cs
- PassportPrincipal.cs
- ShaderRenderModeValidation.cs
- XmlFormatWriterGenerator.cs
- DesignerDataRelationship.cs
- CommandID.cs
- Border.cs
- SrgsElementFactory.cs
- XsltContext.cs
- unitconverter.cs
- SemanticResolver.cs
- Pair.cs
- AppliesToBehaviorDecisionTable.cs
- BuildManagerHost.cs
- CreateInstanceBinder.cs
- TextAnchor.cs
- SiteMapDataSource.cs
- sitestring.cs
- Merger.cs
- DocumentXPathNavigator.cs
- SafeLocalMemHandle.cs
- WriteTimeStream.cs
- AccessControlEntry.cs
- BufferBuilder.cs
- AsnEncodedData.cs
- ResourceContainerWrapper.cs
- DataGridAddNewRow.cs
- ManagementClass.cs