Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Base / System / Windows / AttachedPropertyBrowsableWhenAttributePresentAttribute.cs / 1 / 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
- EventLogPermission.cs
- EntitySqlQueryState.cs
- ConstrainedDataObject.cs
- TypeNameParser.cs
- JoinGraph.cs
- EmptyControlCollection.cs
- XmlAttributeAttribute.cs
- DbConnectionStringBuilder.cs
- CompositeFontFamily.cs
- _NTAuthentication.cs
- Pen.cs
- FixedHyperLink.cs
- XsdSchemaFileEditor.cs
- NativeMethods.cs
- BCLDebug.cs
- SQLBinary.cs
- StorageEntitySetMapping.cs
- ImageUrlEditor.cs
- BooleanExpr.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- SafeNativeMethods.cs
- SqlDataSourceStatusEventArgs.cs
- ObjectItemCollection.cs
- ConnectionOrientedTransportChannelFactory.cs
- TextDecorationCollection.cs
- GlyphingCache.cs
- Span.cs
- CompositeScriptReferenceEventArgs.cs
- TimeZone.cs
- XmlSchemaSet.cs
- JournalEntryListConverter.cs
- DateTimeFormatInfo.cs
- VSWCFServiceContractGenerator.cs
- ListViewGroupConverter.cs
- BufferModesCollection.cs
- ConstantExpression.cs
- ItemChangedEventArgs.cs
- BamlStream.cs
- QuinticEase.cs
- SmtpReplyReader.cs
- pingexception.cs
- RequestTimeoutManager.cs
- AnnotationAdorner.cs
- DirectoryRedirect.cs
- HttpBrowserCapabilitiesBase.cs
- BoundColumn.cs
- DrawToolTipEventArgs.cs
- XmlDataDocument.cs
- ProgressPage.cs
- PropagatorResult.cs
- ConnectionPoolManager.cs
- ContentWrapperAttribute.cs
- Mutex.cs
- RotateTransform.cs
- XmlSchemaAttributeGroupRef.cs
- IChannel.cs
- DesignerRegionCollection.cs
- ClientConvert.cs
- ProgressChangedEventArgs.cs
- TemplateAction.cs
- GridItemPattern.cs
- ContainerVisual.cs
- EntityTypeEmitter.cs
- ElementNotAvailableException.cs
- TabControlAutomationPeer.cs
- PassportIdentity.cs
- CanExecuteRoutedEventArgs.cs
- ExpressionBuilder.cs
- ServiceEndpointElement.cs
- SubstitutionList.cs
- ProviderConnectionPoint.cs
- SettingsPropertyValue.cs
- SoundPlayer.cs
- BaseAddressPrefixFilterElement.cs
- BitmapImage.cs
- HtmlElement.cs
- MimeMapping.cs
- WebServiceResponse.cs
- EncodingTable.cs
- controlskin.cs
- UpdateException.cs
- LineSegment.cs
- Int32CollectionConverter.cs
- EventWaitHandle.cs
- TagPrefixCollection.cs
- ProvidePropertyAttribute.cs
- Vector3DAnimationBase.cs
- Rect3D.cs
- SpeechAudioFormatInfo.cs
- _ConnectOverlappedAsyncResult.cs
- Rect3DValueSerializer.cs
- ControlsConfig.cs
- LoginCancelEventArgs.cs
- InkPresenter.cs
- RegexGroupCollection.cs
- EnterpriseServicesHelper.cs
- JoinSymbol.cs
- QuerySettings.cs
- TreeBuilder.cs
- PixelShader.cs