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
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Authorization.cs
- MergePropertyDescriptor.cs
- TextEditorTyping.cs
- _OverlappedAsyncResult.cs
- GlyphRunDrawing.cs
- SchemaComplexType.cs
- PartialCachingAttribute.cs
- ChannelBinding.cs
- InstanceKeyCollisionException.cs
- NGCPageContentSerializerAsync.cs
- GridSplitterAutomationPeer.cs
- FilteredXmlReader.cs
- SafeSecurityHelper.cs
- AutomationProperties.cs
- ScalarOps.cs
- ComponentSerializationService.cs
- StateFinalizationDesigner.cs
- SchemaConstraints.cs
- BlockExpression.cs
- DayRenderEvent.cs
- TileBrush.cs
- CapabilitiesUse.cs
- SchemaElementLookUpTable.cs
- DataControlButton.cs
- ItemDragEvent.cs
- SearchForVirtualItemEventArgs.cs
- ServiceModelConfigurationElementCollection.cs
- SelectedGridItemChangedEvent.cs
- Exceptions.cs
- SupportingTokenSecurityTokenResolver.cs
- DispatcherObject.cs
- Enum.cs
- Facet.cs
- ClientFormsIdentity.cs
- Unit.cs
- SrgsSemanticInterpretationTag.cs
- ProjectionPruner.cs
- ToggleButton.cs
- HostExecutionContextManager.cs
- PageStatePersister.cs
- ErrorWrapper.cs
- SystemIcmpV4Statistics.cs
- DocumentViewer.cs
- Command.cs
- NoneExcludedImageIndexConverter.cs
- SafeEventLogWriteHandle.cs
- InstanceHandle.cs
- ProfilePropertySettingsCollection.cs
- SpeechRecognitionEngine.cs
- ManagementInstaller.cs
- Timer.cs
- _ConnectionGroup.cs
- HMACSHA256.cs
- Container.cs
- TextStore.cs
- VisualSerializer.cs
- ErrorActivity.cs
- PathSegment.cs
- XmlReader.cs
- Enum.cs
- AssemblyInfo.cs
- ClientSponsor.cs
- SymmetricKeyWrap.cs
- UserCancellationException.cs
- SafeNativeMethods.cs
- XamlToRtfParser.cs
- ControlValuePropertyAttribute.cs
- ArrayWithOffset.cs
- TabletDeviceInfo.cs
- Renderer.cs
- PropertyReferenceSerializer.cs
- SoapSchemaExporter.cs
- X509Certificate.cs
- ListArgumentProvider.cs
- StructuralType.cs
- GPPOINT.cs
- ComponentEditorPage.cs
- RSAPKCS1SignatureDeformatter.cs
- ConstraintStruct.cs
- CompensatableSequenceActivity.cs
- SrgsToken.cs
- LayoutEditorPart.cs
- ListViewHitTestInfo.cs
- TextEvent.cs
- Dynamic.cs
- EntityDesignerBuildProvider.cs
- UIElement.cs
- StringToken.cs
- Single.cs
- TextServicesLoader.cs
- AlphabeticalEnumConverter.cs
- TransformPattern.cs
- BooleanProjectedSlot.cs
- Literal.cs
- OrElse.cs
- InkCanvasFeedbackAdorner.cs
- Int32Rect.cs
- DataStreams.cs
- PolyBezierSegment.cs
- isolationinterop.cs