Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / CompMod / System / ComponentModel / Design / HelpKeywordAttribute.cs / 1 / HelpKeywordAttribute.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* */ namespace System.ComponentModel.Design { using System; using System.Security.Permissions; ////// Allows specification of the context keyword that will be specified for this class or member. By default, /// the help keyword for a class is the Type's full name, and for a member it's the full name of the type that declared the property, /// plus the property name itself. /// /// For example, consider System.Windows.Forms.Button and it's Text property: /// /// The class keyword is "System.Windows.Forms.Button", but the Text property keyword is "System.Windows.Forms.Control.Text", because the Text /// property is declared on the System.Windows.Forms.Control class rather than the Button class itself; the Button class inherits the property. /// By contrast, the DialogResult property is declared on the Button so its keyword would be "System.Windows.Forms.Button.DialogResult". /// /// When the help system gets the keywords, it will first look at this attribute. At the class level, it will return the string specified by the /// HelpContextAttribute. Note this will not be used for members of the Type in question. They will still reflect the declaring Type's actual /// full name, plus the member name. To override this, place the attribute on the member itself. /// /// Example: /// /// [HelpKeywordAttribute(typeof(Component))] /// public class MyComponent : Component { /// /// /// public string Property1 { get{return "";}; /// /// [HelpKeywordAttribute("SomeNamespace.SomeOtherClass.Property2")] /// public string Property2 { get{return "";}; /// /// } /// /// /// For the above class (default without attribution): /// /// Class keyword: "System.ComponentModel.Component" ("MyNamespace.MyComponent') /// Property1 keyword: "MyNamespace.MyComponent.Property1" (default) /// Property2 keyword: "SomeNamespace.SomeOtherClass.Property2" ("MyNamespace.MyComponent.Property2") /// /// [AttributeUsage(AttributeTargets.All, AllowMultiple = false, Inherited = false)] [Serializable] public sealed class HelpKeywordAttribute : Attribute { ////// Default value for HelpKeywordAttribute, which is null. /// public static readonly HelpKeywordAttribute Default = new HelpKeywordAttribute(); private string contextKeyword; ////// Default constructor, which creates an attribute with a null HelpKeyword. /// public HelpKeywordAttribute() { } ////// Creates a HelpKeywordAttribute with the value being the given keyword string. /// public HelpKeywordAttribute(string keyword) { if (keyword == null) { throw new ArgumentNullException("keyword"); } this.contextKeyword = keyword; } ////// Creates a HelpKeywordAttribute with the value being the full name of the given type. /// public HelpKeywordAttribute(Type t) { if (t == null) { throw new ArgumentNullException("t"); } this.contextKeyword = t.FullName; } ////// Retrieves the HelpKeyword this attribute supplies. /// public string HelpKeyword { get { return contextKeyword; } } ////// Two instances of a HelpKeywordAttribute are equal if they're HelpKeywords are equal. /// public override bool Equals(object obj) { if (obj == this) { return true; } if ((obj != null) && (obj is HelpKeywordAttribute)) { return ((HelpKeywordAttribute)obj).HelpKeyword == HelpKeyword; } return false; } ////// public override int GetHashCode() { return base.GetHashCode(); } ////// Returns true if this Attribute's HelpKeyword is null. /// public override bool IsDefaultAttribute() { return this.Equals(Default); } } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ScrollViewer.cs
- DrawingContext.cs
- _ShellExpression.cs
- UrlMapping.cs
- FileDialogPermission.cs
- TraceContext.cs
- RelationshipConstraintValidator.cs
- MailWebEventProvider.cs
- ObfuscationAttribute.cs
- FamilyMapCollection.cs
- AnimationLayer.cs
- StylusPointProperty.cs
- XmlUrlResolver.cs
- SimpleFileLog.cs
- WhitespaceSignificantCollectionAttribute.cs
- SQLDecimal.cs
- StylusEventArgs.cs
- OleDbConnectionInternal.cs
- XmlWellformedWriter.cs
- EntityDataSourceMemberPath.cs
- LogReservationCollection.cs
- TextShapeableCharacters.cs
- LinearKeyFrames.cs
- GradientStop.cs
- XmlNullResolver.cs
- TdsParserHelperClasses.cs
- StorageFunctionMapping.cs
- MatrixUtil.cs
- SharedPersonalizationStateInfo.cs
- GeneratedCodeAttribute.cs
- TextRangeProviderWrapper.cs
- StorageComplexPropertyMapping.cs
- TextContainerChangedEventArgs.cs
- Environment.cs
- WebPartEditorApplyVerb.cs
- Predicate.cs
- TextLine.cs
- LinearKeyFrames.cs
- DefaultValueConverter.cs
- Error.cs
- MembershipValidatePasswordEventArgs.cs
- Compilation.cs
- WebPartConnectionsCancelVerb.cs
- DataException.cs
- FormViewUpdateEventArgs.cs
- NamespaceDecl.cs
- filewebresponse.cs
- XmlSchemaAnyAttribute.cs
- PenContexts.cs
- XmlIterators.cs
- LinkedList.cs
- MetadataPropertyvalue.cs
- RetriableClipboard.cs
- XmlValueConverter.cs
- SqlUdtInfo.cs
- WebRequestModuleElementCollection.cs
- XmlMemberMapping.cs
- DataGridViewColumnConverter.cs
- ExceptionValidationRule.cs
- HashAlgorithm.cs
- AttachInfo.cs
- ComponentDesigner.cs
- InternalDispatchObject.cs
- ReadOnlyNameValueCollection.cs
- DelimitedListTraceListener.cs
- SectionUpdates.cs
- DocumentReferenceCollection.cs
- SecureEnvironment.cs
- ToolboxComponentsCreatingEventArgs.cs
- _ListenerRequestStream.cs
- Attachment.cs
- Misc.cs
- SimpleApplicationHost.cs
- GenericIdentity.cs
- SoapAttributes.cs
- CqlErrorHelper.cs
- OdbcReferenceCollection.cs
- ExpressionBindingCollection.cs
- RayHitTestParameters.cs
- KeyValueConfigurationCollection.cs
- Rotation3D.cs
- WebSysDescriptionAttribute.cs
- NamespaceEmitter.cs
- SqlMethodTransformer.cs
- FrameworkElement.cs
- BrushMappingModeValidation.cs
- LoaderAllocator.cs
- ListDictionary.cs
- PropertyTabChangedEvent.cs
- HttpCacheVary.cs
- Line.cs
- TimelineClockCollection.cs
- SkewTransform.cs
- brushes.cs
- MutexSecurity.cs
- ToolStripContainerActionList.cs
- SafeProcessHandle.cs
- TreeNodeStyle.cs
- DataPagerFieldItem.cs
- HwndHostAutomationPeer.cs