Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Base / System / Windows / AttachedPropertyBrowsableWhenAttributePresentAttribute.cs / 1305600 / AttachedPropertyBrowsableWhenAttributePresentAttribute.cs
namespace System.Windows { using System; using System.ComponentModel; ////// This attribute declares that an attached property can only be attached /// to an object that defines the given attribute on its class. /// [AttributeUsage(AttributeTargets.Method, AllowMultiple = false)] public sealed class AttachedPropertyBrowsableWhenAttributePresentAttribute : AttachedPropertyBrowsableAttribute { //------------------------------------------------------ // // Constructors // //----------------------------------------------------- ////// Creates a new AttachedPropertyBrowsableWhenAttributePresentAttribute. Provide /// the type of attribute that, when present on a dependency object, /// should make the property browsable. /// public AttachedPropertyBrowsableWhenAttributePresentAttribute(Type attributeType) { if (attributeType == null) throw new ArgumentNullException("attributeType"); _attributeType = attributeType; } //----------------------------------------------------- // // Public Properties // //----------------------------------------------------- ////// Returns the attribute type passed into the constructor. /// public Type AttributeType { get { return _attributeType; } } //------------------------------------------------------ // // Public Methods // //----------------------------------------------------- ////// Overrides Object.Equals to implement correct equality semantics for this /// attribute. /// public override bool Equals(object obj) { AttachedPropertyBrowsableWhenAttributePresentAttribute other = obj as AttachedPropertyBrowsableWhenAttributePresentAttribute; if (other == null) return false; return _attributeType == other._attributeType; } ////// Overrides Object.GetHashCode to implement correct hashing semantics. /// public override int GetHashCode() { return _attributeType.GetHashCode(); } //------------------------------------------------------ // // Internal Methods // //------------------------------------------------------ ////// Returns true if the dependency object class defines an attribute /// of the same type contained in this attribute. The attribute must /// differ from the "default" state of the attribute. /// internal override bool IsBrowsable(DependencyObject d, DependencyProperty dp) { if (d == null) throw new ArgumentNullException("d"); if (dp == null) throw new ArgumentNullException("dp"); Attribute a = TypeDescriptor.GetAttributes(d)[_attributeType]; return (a != null && !a.IsDefaultAttribute()); } //----------------------------------------------------- // // Private Fields // //------------------------------------------------------ private Type _attributeType; } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. namespace System.Windows { using System; using System.ComponentModel; ////// This attribute declares that an attached property can only be attached /// to an object that defines the given attribute on its class. /// [AttributeUsage(AttributeTargets.Method, AllowMultiple = false)] public sealed class AttachedPropertyBrowsableWhenAttributePresentAttribute : AttachedPropertyBrowsableAttribute { //------------------------------------------------------ // // Constructors // //----------------------------------------------------- ////// Creates a new AttachedPropertyBrowsableWhenAttributePresentAttribute. Provide /// the type of attribute that, when present on a dependency object, /// should make the property browsable. /// public AttachedPropertyBrowsableWhenAttributePresentAttribute(Type attributeType) { if (attributeType == null) throw new ArgumentNullException("attributeType"); _attributeType = attributeType; } //----------------------------------------------------- // // Public Properties // //----------------------------------------------------- ////// Returns the attribute type passed into the constructor. /// public Type AttributeType { get { return _attributeType; } } //------------------------------------------------------ // // Public Methods // //----------------------------------------------------- ////// Overrides Object.Equals to implement correct equality semantics for this /// attribute. /// public override bool Equals(object obj) { AttachedPropertyBrowsableWhenAttributePresentAttribute other = obj as AttachedPropertyBrowsableWhenAttributePresentAttribute; if (other == null) return false; return _attributeType == other._attributeType; } ////// Overrides Object.GetHashCode to implement correct hashing semantics. /// public override int GetHashCode() { return _attributeType.GetHashCode(); } //------------------------------------------------------ // // Internal Methods // //------------------------------------------------------ ////// Returns true if the dependency object class defines an attribute /// of the same type contained in this attribute. The attribute must /// differ from the "default" state of the attribute. /// internal override bool IsBrowsable(DependencyObject d, DependencyProperty dp) { if (d == null) throw new ArgumentNullException("d"); if (dp == null) throw new ArgumentNullException("dp"); Attribute a = TypeDescriptor.GetAttributes(d)[_attributeType]; return (a != null && !a.IsDefaultAttribute()); } //----------------------------------------------------- // // Private Fields // //------------------------------------------------------ private Type _attributeType; } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- IDReferencePropertyAttribute.cs
- CommonXSendMessage.cs
- TextTreeUndo.cs
- SmtpNtlmAuthenticationModule.cs
- HashCodeCombiner.cs
- RequiredAttributeAttribute.cs
- Rect3DValueSerializer.cs
- PassportAuthenticationEventArgs.cs
- ButtonChrome.cs
- AuthorizationRuleCollection.cs
- DocumentPageViewAutomationPeer.cs
- ServiceNotStartedException.cs
- While.cs
- CompModSwitches.cs
- SQLDateTime.cs
- DataTableMapping.cs
- ServiceManagerHandle.cs
- SqlInternalConnection.cs
- SystemInformation.cs
- MailBnfHelper.cs
- UniqueConstraint.cs
- WebServiceTypeData.cs
- CompareValidator.cs
- Vars.cs
- FormsAuthenticationCredentials.cs
- SelectionItemPattern.cs
- HttpsHostedTransportConfiguration.cs
- InputBinder.cs
- AssemblyCacheEntry.cs
- QueryResults.cs
- XmlElementCollection.cs
- BoolExpression.cs
- DataListCommandEventArgs.cs
- AuthenticationException.cs
- ResourceContainerWrapper.cs
- HttpCookiesSection.cs
- ActivityExecutor.cs
- Pointer.cs
- formatter.cs
- ShimAsPublicXamlType.cs
- SmtpNegotiateAuthenticationModule.cs
- SpAudioStreamWrapper.cs
- IntSecurity.cs
- WS2007HttpBindingCollectionElement.cs
- DragDropManager.cs
- Vector3DValueSerializer.cs
- UdpTransportBindingElement.cs
- IndexedString.cs
- StreamInfo.cs
- HuffmanTree.cs
- EventProviderBase.cs
- WmlTextViewAdapter.cs
- BitSet.cs
- DbProviderSpecificTypePropertyAttribute.cs
- ToolboxComponentsCreatedEventArgs.cs
- ColorConvertedBitmap.cs
- RuntimeCompatibilityAttribute.cs
- KeyValueConfigurationCollection.cs
- Rotation3D.cs
- OpenTypeLayout.cs
- ControlValuePropertyAttribute.cs
- FileLevelControlBuilderAttribute.cs
- CryptoProvider.cs
- SoapException.cs
- PrtCap_Builder.cs
- OpCellTreeNode.cs
- GraphicsPathIterator.cs
- RecognizedWordUnit.cs
- COM2IProvidePropertyBuilderHandler.cs
- BoundConstants.cs
- BitmapEffect.cs
- SqlReorderer.cs
- StrongTypingException.cs
- DefaultAssemblyResolver.cs
- PhysicalFontFamily.cs
- OdbcStatementHandle.cs
- ConnectionStringsExpressionBuilder.cs
- PropertyStore.cs
- Helpers.cs
- BrowsableAttribute.cs
- ManualResetEventSlim.cs
- Registry.cs
- Stroke2.cs
- TextTreeRootTextBlock.cs
- mda.cs
- StandardOleMarshalObject.cs
- Authorization.cs
- RepeaterItemCollection.cs
- KeyInterop.cs
- XmlSchemaDocumentation.cs
- ECDiffieHellmanCng.cs
- GestureRecognizer.cs
- PersistenceContext.cs
- RepeaterDataBoundAdapter.cs
- ListView.cs
- EntityCommand.cs
- XmlReflectionMember.cs
- UITypeEditor.cs
- RootNamespaceAttribute.cs
- odbcmetadatacollectionnames.cs