Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / wpf / src / Base / System / ComponentModel / PropertyFilterAttribute.cs / 1 / PropertyFilterAttribute.cs
namespace System.ComponentModel { using System; using System.Diagnostics.CodeAnalysis; ////// This attribute is a "query" attribute. It is /// an attribute that causes the type description provider /// to narrow the scope of returned properties. It differs /// from normal attributes in that it cannot actually be /// placed on a class as metadata and that the filter mechanism /// is code rather than static metadata. /// [AttributeUsage(AttributeTargets.Property | AttributeTargets.Method)] public sealed class PropertyFilterAttribute : Attribute { //------------------------------------------------------ // // Constructors // //----------------------------------------------------- #region Constructors ////// Creates a new attribute. /// public PropertyFilterAttribute(PropertyFilterOptions filter) { _filter = filter; } #endregion Constructors //----------------------------------------------------- // // Public Methods // //----------------------------------------------------- #region Public Methods ////// Override of Object.Equals that returns true if the filters /// contained in both attributes match. /// public override bool Equals(object value) { PropertyFilterAttribute a = value as PropertyFilterAttribute; if (a != null && a._filter.Equals(_filter)) { return true; } return false; } ////// Override of Object.GetHashCode. /// public override int GetHashCode() { return _filter.GetHashCode(); } ////// Match determines if one attribute "matches" another. For /// attributes that store flags, a match may be different from /// an equals. For example, a filter of SetValid matches a /// filter of All, because All is a merge of all filter values. /// public override bool Match(object value) { PropertyFilterAttribute a = value as PropertyFilterAttribute; if (a == null) return false; return ((_filter & a._filter) == _filter); } #endregion Public Methods //------------------------------------------------------ // // Public Operators // //----------------------------------------------------- //------------------------------------------------------ // // Public Properties // //------------------------------------------------------ #region Public Properties ////// The filter value passed into the constructor. /// public PropertyFilterOptions Filter { get { return _filter; } } #endregion Public Properties //----------------------------------------------------- // // Public Events // //------------------------------------------------------ //----------------------------------------------------- // // Public Fields // //----------------------------------------------------- #region Public Fields ////// Attributes may declare a Default field that indicates /// what should be done if the attribute is not defined. /// Our default is to return all properties. /// [SuppressMessage("Microsoft.Security", "CA2104:DoNotDeclareReadOnlyMutableReferenceTypes")] public static readonly PropertyFilterAttribute Default = new PropertyFilterAttribute(PropertyFilterOptions.All); #endregion Public Fields //----------------------------------------------------- // // Private Fields // //------------------------------------------------------ #region Private Fields private PropertyFilterOptions _filter; #endregion Private Fields } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. namespace System.ComponentModel { using System; using System.Diagnostics.CodeAnalysis; ////// This attribute is a "query" attribute. It is /// an attribute that causes the type description provider /// to narrow the scope of returned properties. It differs /// from normal attributes in that it cannot actually be /// placed on a class as metadata and that the filter mechanism /// is code rather than static metadata. /// [AttributeUsage(AttributeTargets.Property | AttributeTargets.Method)] public sealed class PropertyFilterAttribute : Attribute { //------------------------------------------------------ // // Constructors // //----------------------------------------------------- #region Constructors ////// Creates a new attribute. /// public PropertyFilterAttribute(PropertyFilterOptions filter) { _filter = filter; } #endregion Constructors //----------------------------------------------------- // // Public Methods // //----------------------------------------------------- #region Public Methods ////// Override of Object.Equals that returns true if the filters /// contained in both attributes match. /// public override bool Equals(object value) { PropertyFilterAttribute a = value as PropertyFilterAttribute; if (a != null && a._filter.Equals(_filter)) { return true; } return false; } ////// Override of Object.GetHashCode. /// public override int GetHashCode() { return _filter.GetHashCode(); } ////// Match determines if one attribute "matches" another. For /// attributes that store flags, a match may be different from /// an equals. For example, a filter of SetValid matches a /// filter of All, because All is a merge of all filter values. /// public override bool Match(object value) { PropertyFilterAttribute a = value as PropertyFilterAttribute; if (a == null) return false; return ((_filter & a._filter) == _filter); } #endregion Public Methods //------------------------------------------------------ // // Public Operators // //----------------------------------------------------- //------------------------------------------------------ // // Public Properties // //------------------------------------------------------ #region Public Properties ////// The filter value passed into the constructor. /// public PropertyFilterOptions Filter { get { return _filter; } } #endregion Public Properties //----------------------------------------------------- // // Public Events // //------------------------------------------------------ //----------------------------------------------------- // // Public Fields // //----------------------------------------------------- #region Public Fields ////// Attributes may declare a Default field that indicates /// what should be done if the attribute is not defined. /// Our default is to return all properties. /// [SuppressMessage("Microsoft.Security", "CA2104:DoNotDeclareReadOnlyMutableReferenceTypes")] public static readonly PropertyFilterAttribute Default = new PropertyFilterAttribute(PropertyFilterOptions.All); #endregion Public Fields //----------------------------------------------------- // // Private Fields // //------------------------------------------------------ #region Private Fields private PropertyFilterOptions _filter; #endregion Private Fields } } // 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
- DialogResultConverter.cs
- FontConverter.cs
- DeadCharTextComposition.cs
- ProfileModule.cs
- DeferredTextReference.cs
- BaseAsyncResult.cs
- AuthorizationContext.cs
- odbcmetadatacolumnnames.cs
- ExtentKey.cs
- InvalidateEvent.cs
- RenderDataDrawingContext.cs
- TextSpan.cs
- Stack.cs
- _CommandStream.cs
- EntityDataSourceUtil.cs
- mda.cs
- Buffer.cs
- NestPullup.cs
- ValidationEventArgs.cs
- AttributeEmitter.cs
- ImageInfo.cs
- Int32Collection.cs
- GraphicsPathIterator.cs
- LogReserveAndAppendState.cs
- EntityClientCacheEntry.cs
- _MultipleConnectAsync.cs
- LayoutEngine.cs
- WhereQueryOperator.cs
- AttributeQuery.cs
- ControlBuilderAttribute.cs
- ControllableStoryboardAction.cs
- Win32Exception.cs
- Quaternion.cs
- CommandLineParser.cs
- BookmarkNameHelper.cs
- TextFindEngine.cs
- ProtocolsConfigurationHandler.cs
- wmiprovider.cs
- TableRow.cs
- DeflateInput.cs
- SliderAutomationPeer.cs
- ListBindingHelper.cs
- BaseValidator.cs
- ValidationPropertyAttribute.cs
- AssemblyName.cs
- CollectionChangedEventManager.cs
- Pool.cs
- Scene3D.cs
- sitestring.cs
- Base64Encoder.cs
- ProcessInfo.cs
- Module.cs
- Viewport2DVisual3D.cs
- ObjectItemConventionAssemblyLoader.cs
- ConstrainedDataObject.cs
- PeerCollaboration.cs
- GeneralTransform2DTo3D.cs
- ApplicationBuildProvider.cs
- IImplicitResourceProvider.cs
- PackageProperties.cs
- StoreAnnotationsMap.cs
- RootProfilePropertySettingsCollection.cs
- ParameterCollection.cs
- ResourceReader.cs
- ViewCellRelation.cs
- CharStorage.cs
- EmptyEnumerator.cs
- BinaryNegotiation.cs
- EndpointNameMessageFilter.cs
- GeometryModel3D.cs
- Parameter.cs
- DesignerExtenders.cs
- OuterGlowBitmapEffect.cs
- FigureParagraph.cs
- WebPartConnectionsCancelVerb.cs
- EventSourceCreationData.cs
- ActiveXSite.cs
- CodeNamespaceCollection.cs
- DoubleAnimationUsingKeyFrames.cs
- XmlQueryContext.cs
- ExtendedPropertyDescriptor.cs
- TextTreeTextElementNode.cs
- SHA384Managed.cs
- DataServiceCollectionOfT.cs
- ObjectTypeMapping.cs
- RegexCharClass.cs
- HttpCookiesSection.cs
- DataRelation.cs
- MetadataItem.cs
- Publisher.cs
- PersistChildrenAttribute.cs
- DBConnection.cs
- EmbeddedMailObject.cs
- WSSecurityOneDotOneSendSecurityHeader.cs
- ConnectionStringSettingsCollection.cs
- WindowsListViewItemCheckBox.cs
- IResourceProvider.cs
- NumberFormatInfo.cs
- DSASignatureFormatter.cs
- contentDescriptor.cs