Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / CompMod / System / ComponentModel / DesignerAttribute.cs / 1 / DesignerAttribute.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* */ namespace System.ComponentModel { using System; using System.ComponentModel; using System.ComponentModel.Design; using System.Diagnostics; using System.Globalization; using System.Security.Permissions; ////// [AttributeUsage(AttributeTargets.Class | AttributeTargets.Interface, AllowMultiple = true, Inherited = true)] public sealed class DesignerAttribute : Attribute { private readonly string designerTypeName; private readonly string designerBaseTypeName; private string typeId; ///Specifies the class to use to implement design-time services. ////// public DesignerAttribute(string designerTypeName) { string temp = designerTypeName.ToUpper(CultureInfo.InvariantCulture); Debug.Assert(temp.IndexOf(".DLL") == -1, "Came across: " + designerTypeName + " . Please remove the .dll extension"); this.designerTypeName = designerTypeName; this.designerBaseTypeName = typeof(IDesigner).FullName; } ////// Initializes a new instance of the ///class using the name of the type that /// provides design-time services. /// /// public DesignerAttribute(Type designerType) { this.designerTypeName = designerType.AssemblyQualifiedName; this.designerBaseTypeName = typeof(IDesigner).FullName; } ////// Initializes a new instance of the ///class using the type that provides /// design-time services. /// /// public DesignerAttribute(string designerTypeName, string designerBaseTypeName) { string temp = designerTypeName.ToUpper(CultureInfo.InvariantCulture); Debug.Assert(temp.IndexOf(".DLL") == -1, "Came across: " + designerTypeName + " . Please remove the .dll extension"); this.designerTypeName = designerTypeName; this.designerBaseTypeName = designerBaseTypeName; } ////// Initializes a new instance of the ///class using the designer type and the /// base class for the designer. /// /// public DesignerAttribute(string designerTypeName, Type designerBaseType) { string temp = designerTypeName.ToUpper(CultureInfo.InvariantCulture); Debug.Assert(temp.IndexOf(".DLL") == -1, "Came across: " + designerTypeName + " . Please remove the .dll extension"); this.designerTypeName = designerTypeName; this.designerBaseTypeName = designerBaseType.AssemblyQualifiedName; } ////// Initializes a new instance of the ///class, using the name of the designer /// class and the base class for the designer. /// /// public DesignerAttribute(Type designerType, Type designerBaseType) { this.designerTypeName = designerType.AssemblyQualifiedName; this.designerBaseTypeName = designerBaseType.AssemblyQualifiedName; } ////// Initializes a new instance of the ///class using the types of the designer and /// designer base class. /// /// public string DesignerBaseTypeName { get { return designerBaseTypeName; } } ////// Gets /// the name of the base type of this designer. /// ////// public string DesignerTypeName { get { return designerTypeName; } } ////// Gets the name of the designer type associated with this designer attribute. /// ////// /// public override object TypeId { get { if (typeId == null) { string baseType = designerBaseTypeName; 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; } DesignerAttribute other = obj as DesignerAttribute; return (other != null) && other.designerBaseTypeName == designerBaseTypeName && other.designerTypeName == designerTypeName; } public override int GetHashCode() { return designerTypeName.GetHashCode() ^ designerBaseTypeName.GetHashCode(); } } }/// 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. DesignerAttribute overrides /// this to include the type of the designer base type. /// ///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SchemaNotation.cs
- QuotedStringWriteStateInfo.cs
- CriticalFinalizerObject.cs
- HttpWriter.cs
- DelimitedListTraceListener.cs
- SizeLimitedCache.cs
- ValidationVisibilityAttribute.cs
- QualifiedCellIdBoolean.cs
- OpCopier.cs
- UniformGrid.cs
- GuidConverter.cs
- InfoCardSymmetricAlgorithm.cs
- DbUpdateCommandTree.cs
- ClientBuildManager.cs
- ErrorStyle.cs
- ApplicationInfo.cs
- ReferentialConstraint.cs
- PrimaryKeyTypeConverter.cs
- VisualStyleTypesAndProperties.cs
- PersonalizationEntry.cs
- FieldTemplateUserControl.cs
- Propagator.JoinPropagator.cs
- ContentElement.cs
- RulePatternOps.cs
- DataControlLinkButton.cs
- X509SecurityTokenAuthenticator.cs
- InvokeGenerator.cs
- OleDbDataReader.cs
- InstanceDescriptor.cs
- BamlBinaryWriter.cs
- BuildProvider.cs
- DataGridViewColumnCollection.cs
- SafeMarshalContext.cs
- Run.cs
- WebServiceParameterData.cs
- RemoveStoryboard.cs
- SamlSecurityToken.cs
- WaitHandle.cs
- Track.cs
- DocumentViewerConstants.cs
- StateChangeEvent.cs
- NamedPipeAppDomainProtocolHandler.cs
- ConfigXmlText.cs
- List.cs
- Qualifier.cs
- PenThreadPool.cs
- ClientBuildManagerCallback.cs
- DataGridViewUtilities.cs
- SafeNativeMethods.cs
- GifBitmapDecoder.cs
- ValueUtilsSmi.cs
- Crypto.cs
- ControlBuilderAttribute.cs
- TabItem.cs
- Regex.cs
- SspiWrapper.cs
- DynamicValidatorEventArgs.cs
- BaseUriHelper.cs
- ParenthesizePropertyNameAttribute.cs
- MaterialCollection.cs
- PrintController.cs
- PersonalizableTypeEntry.cs
- WindowVisualStateTracker.cs
- SchemaMapping.cs
- Window.cs
- TopClause.cs
- DataSourceSerializationException.cs
- EmptyImpersonationContext.cs
- LostFocusEventManager.cs
- LineBreak.cs
- DBDataPermission.cs
- WebReferencesBuildProvider.cs
- EntityDataSourceDataSelection.cs
- StringValueSerializer.cs
- XamlStackWriter.cs
- SqlNamer.cs
- ConnectivityStatus.cs
- ExpressionsCollectionConverter.cs
- SynchronizingStream.cs
- EntityContainerRelationshipSetEnd.cs
- FindCompletedEventArgs.cs
- KeyedQueue.cs
- OutKeywords.cs
- ControlParser.cs
- TimelineClockCollection.cs
- PropertyCondition.cs
- CompareValidator.cs
- FrameworkTextComposition.cs
- XmlRootAttribute.cs
- HostProtectionException.cs
- XmlIterators.cs
- TemplateControlCodeDomTreeGenerator.cs
- SafeMILHandle.cs
- NetDataContractSerializer.cs
- DataFieldCollectionEditor.cs
- XmlSchemaSimpleType.cs
- StylusPointCollection.cs
- EmbeddedMailObjectsCollection.cs
- Menu.cs
- RegistryConfigurationProvider.cs