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
- SqlFactory.cs
- RowToParametersTransformer.cs
- CommandSet.cs
- InvalidWMPVersionException.cs
- Win32MouseDevice.cs
- StylusPoint.cs
- RadioButtonFlatAdapter.cs
- StringArrayConverter.cs
- storepermission.cs
- Bits.cs
- Decimal.cs
- ResourceKey.cs
- FileDialogCustomPlacesCollection.cs
- RegexMatch.cs
- ArgumentException.cs
- ArrangedElement.cs
- GlobalizationAssembly.cs
- CompositeClientFormatter.cs
- BlurBitmapEffect.cs
- PrivilegedConfigurationManager.cs
- DurableInstanceProvider.cs
- ChannelServices.cs
- TabPage.cs
- SqlConnectionPoolGroupProviderInfo.cs
- Rethrow.cs
- GAC.cs
- ProfileSection.cs
- XdrBuilder.cs
- LinkTarget.cs
- HtmlElementEventArgs.cs
- TextProviderWrapper.cs
- NativeMethods.cs
- LinqToSqlWrapper.cs
- XmlSerializationGeneratedCode.cs
- WorkflowApplicationUnloadedException.cs
- ModuleConfigurationInfo.cs
- InkCanvasSelectionAdorner.cs
- CodeEventReferenceExpression.cs
- Regex.cs
- InnerItemCollectionView.cs
- QueryOutputWriter.cs
- BamlRecords.cs
- VirtualizedItemProviderWrapper.cs
- ValidateNames.cs
- XmlChoiceIdentifierAttribute.cs
- ResourceAssociationTypeEnd.cs
- LoginView.cs
- PkcsMisc.cs
- AuthenticationModulesSection.cs
- GenericPrincipal.cs
- InternalRelationshipCollection.cs
- ScrollEvent.cs
- MarkedHighlightComponent.cs
- ResourceAttributes.cs
- ChannelBinding.cs
- PromptBuilder.cs
- Trigger.cs
- DeploymentSectionCache.cs
- ProfileProvider.cs
- GlyphingCache.cs
- BamlResourceSerializer.cs
- SessionStateItemCollection.cs
- SelectionProcessor.cs
- GridViewUpdateEventArgs.cs
- XmlDownloadManager.cs
- XmlLangPropertyAttribute.cs
- SqlDataSourceCache.cs
- FixedDocumentPaginator.cs
- TimeIntervalCollection.cs
- EntityContainerEmitter.cs
- Matrix3D.cs
- ExpressionPrefixAttribute.cs
- EntityDataSourceSelectingEventArgs.cs
- MouseDevice.cs
- RequestCacheValidator.cs
- StrokeNodeOperations.cs
- DesignTimeData.cs
- CultureTable.cs
- ContextQuery.cs
- WmlPageAdapter.cs
- HostAdapter.cs
- X509ChainPolicy.cs
- CanonicalXml.cs
- Interlocked.cs
- AssociatedControlConverter.cs
- WriteLineDesigner.xaml.cs
- IdleTimeoutMonitor.cs
- WebAdminConfigurationHelper.cs
- WebUtil.cs
- EditorZone.cs
- ViewStateException.cs
- DispatchRuntime.cs
- WrapPanel.cs
- PackagePart.cs
- BaseCodePageEncoding.cs
- ExtensionFile.cs
- CreateSequence.cs
- CategoryGridEntry.cs
- ViewStateModeByIdAttribute.cs
- DynamicPropertyReader.cs