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
- ProfileBuildProvider.cs
- GregorianCalendarHelper.cs
- ToolBarOverflowPanel.cs
- SecurityTokenException.cs
- CipherData.cs
- Fx.cs
- DataErrorValidationRule.cs
- DoubleStorage.cs
- HandlerWithFactory.cs
- SqlUserDefinedAggregateAttribute.cs
- SelectionBorderGlyph.cs
- NativeMethods.cs
- HttpWebResponse.cs
- DetailsViewPagerRow.cs
- RegionData.cs
- DataColumnChangeEvent.cs
- ResetableIterator.cs
- JobInputBins.cs
- StructuredTypeEmitter.cs
- SqlTransaction.cs
- ProfileEventArgs.cs
- NativeMethods.cs
- FunctionDescription.cs
- CheckBoxPopupAdapter.cs
- GridLengthConverter.cs
- ByteAnimation.cs
- MobileControlBuilder.cs
- SymmetricAlgorithm.cs
- BitmapEffectGeneralTransform.cs
- HttpProfileBase.cs
- DATA_BLOB.cs
- InkPresenterAutomationPeer.cs
- XmlSortKey.cs
- Operand.cs
- AdvancedBindingPropertyDescriptor.cs
- Context.cs
- RegexGroupCollection.cs
- GuidelineSet.cs
- ImageIndexConverter.cs
- Imaging.cs
- DefaultParameterValueAttribute.cs
- OdbcEnvironmentHandle.cs
- DataGridCellEditEndingEventArgs.cs
- PageAdapter.cs
- CursorInteropHelper.cs
- PermissionListSet.cs
- NullableFloatMinMaxAggregationOperator.cs
- ModifyActivitiesPropertyDescriptor.cs
- XmlSchemaGroup.cs
- Pair.cs
- ReliabilityContractAttribute.cs
- _DisconnectOverlappedAsyncResult.cs
- WindowsGrip.cs
- WebSysDisplayNameAttribute.cs
- UrlAuthorizationModule.cs
- WebGetAttribute.cs
- ValidatedControlConverter.cs
- ConnectionStringSettingsCollection.cs
- CalculatedColumn.cs
- SecurityToken.cs
- AutomationAttributeInfo.cs
- XmlAnyElementAttribute.cs
- _DigestClient.cs
- BooleanConverter.cs
- HtmlTableRowCollection.cs
- PropertyMetadata.cs
- XmlSchemaSimpleContent.cs
- BooleanFacetDescriptionElement.cs
- OracleRowUpdatingEventArgs.cs
- FreeFormDragDropManager.cs
- DataSourceNameHandler.cs
- WpfMemberInvoker.cs
- EncoderFallback.cs
- RootAction.cs
- ShutDownListener.cs
- TdsParserStaticMethods.cs
- DataDesignUtil.cs
- DataGridViewUtilities.cs
- XmlValidatingReaderImpl.cs
- RootAction.cs
- Range.cs
- FacetEnabledSchemaElement.cs
- GreaterThanOrEqual.cs
- SchemaElementDecl.cs
- WindowsStreamSecurityBindingElement.cs
- Renderer.cs
- VisualStyleElement.cs
- XmlIlGenerator.cs
- ConnectionStringsExpressionBuilder.cs
- BinaryNode.cs
- _NtlmClient.cs
- ExceptionWrapper.cs
- FormsAuthenticationUserCollection.cs
- TypeForwardedToAttribute.cs
- PrintControllerWithStatusDialog.cs
- DES.cs
- ManipulationLogic.cs
- StandardMenuStripVerb.cs
- XmlJsonWriter.cs
- SchemaImporter.cs