Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / UI / FilterableAttribute.cs / 1305376 / FilterableAttribute.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* */ namespace System.Web.UI { using System; using System.Collections; using System.ComponentModel; using System.Security.Permissions; ////// [AttributeUsage(AttributeTargets.Property | AttributeTargets.Class)] public sealed class FilterableAttribute : Attribute { ////// /// /// public static readonly FilterableAttribute Yes = new FilterableAttribute(true); ////// /// /// public static readonly FilterableAttribute No = new FilterableAttribute(false); ////// /// /// public static readonly FilterableAttribute Default = Yes; private bool _filterable = false; private static Hashtable _filterableTypes; static FilterableAttribute() { // Create a synchronized wrapper _filterableTypes = Hashtable.Synchronized(new Hashtable()); } ////// /// public FilterableAttribute(bool filterable) { _filterable = filterable; } ////// public bool Filterable { get { return _filterable; } } ///Indicates if the property is Filterable. ///public override bool Equals(object obj) { if (obj == this) { return true; } FilterableAttribute other = obj as FilterableAttribute; return (other != null) && (other.Filterable == _filterable); } /// public override int GetHashCode() { return _filterable.GetHashCode(); } /// public override bool IsDefaultAttribute() { return this.Equals(Default); } public static bool IsObjectFilterable(Object instance) { if (instance == null) throw new ArgumentNullException("instance"); return IsTypeFilterable(instance.GetType()); } public static bool IsPropertyFilterable(PropertyDescriptor propertyDescriptor) { FilterableAttribute filterableAttr = (FilterableAttribute)propertyDescriptor.Attributes[typeof(FilterableAttribute)]; if (filterableAttr != null) { return filterableAttr.Filterable; } return true; } public static bool IsTypeFilterable(Type type) { if (type == null) throw new ArgumentNullException("type"); object result = _filterableTypes[type]; if (result != null) { return (bool)result; } System.ComponentModel.AttributeCollection attrs = TypeDescriptor.GetAttributes(type); FilterableAttribute attr = (FilterableAttribute)attrs[typeof(FilterableAttribute)]; result = (attr != null) && attr.Filterable; _filterableTypes[type] = result; return (bool)result; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* */ namespace System.Web.UI { using System; using System.Collections; using System.ComponentModel; using System.Security.Permissions; ////// [AttributeUsage(AttributeTargets.Property | AttributeTargets.Class)] public sealed class FilterableAttribute : Attribute { ////// /// /// public static readonly FilterableAttribute Yes = new FilterableAttribute(true); ////// /// /// public static readonly FilterableAttribute No = new FilterableAttribute(false); ////// /// /// public static readonly FilterableAttribute Default = Yes; private bool _filterable = false; private static Hashtable _filterableTypes; static FilterableAttribute() { // Create a synchronized wrapper _filterableTypes = Hashtable.Synchronized(new Hashtable()); } ////// /// public FilterableAttribute(bool filterable) { _filterable = filterable; } ////// public bool Filterable { get { return _filterable; } } ///Indicates if the property is Filterable. ///public override bool Equals(object obj) { if (obj == this) { return true; } FilterableAttribute other = obj as FilterableAttribute; return (other != null) && (other.Filterable == _filterable); } /// public override int GetHashCode() { return _filterable.GetHashCode(); } /// public override bool IsDefaultAttribute() { return this.Equals(Default); } public static bool IsObjectFilterable(Object instance) { if (instance == null) throw new ArgumentNullException("instance"); return IsTypeFilterable(instance.GetType()); } public static bool IsPropertyFilterable(PropertyDescriptor propertyDescriptor) { FilterableAttribute filterableAttr = (FilterableAttribute)propertyDescriptor.Attributes[typeof(FilterableAttribute)]; if (filterableAttr != null) { return filterableAttr.Filterable; } return true; } public static bool IsTypeFilterable(Type type) { if (type == null) throw new ArgumentNullException("type"); object result = _filterableTypes[type]; if (result != null) { return (bool)result; } System.ComponentModel.AttributeCollection attrs = TypeDescriptor.GetAttributes(type); FilterableAttribute attr = (FilterableAttribute)attrs[typeof(FilterableAttribute)]; result = (attr != null) && attr.Filterable; _filterableTypes[type] = result; return (bool)result; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- HttpListenerRequest.cs
- OleDbParameterCollection.cs
- Asn1IntegerConverter.cs
- OleDbConnectionFactory.cs
- MessageQueuePermissionEntryCollection.cs
- CategoryNameCollection.cs
- DesignerImageAdapter.cs
- SpeechRecognizer.cs
- LinqDataSourceHelper.cs
- WebControlAdapter.cs
- TcpSocketManager.cs
- MruCache.cs
- Wow64ConfigurationLoader.cs
- InstanceHandleConflictException.cs
- XhtmlBasicPageAdapter.cs
- ReflectionServiceProvider.cs
- TextSearch.cs
- SecurityProtocolCorrelationState.cs
- SoapTransportImporter.cs
- WebBrowserUriTypeConverter.cs
- SoapFault.cs
- Membership.cs
- TrackPointCollection.cs
- EventHandlersDesigner.cs
- WindowsListViewItemCheckBox.cs
- HttpWebRequest.cs
- PointConverter.cs
- COAUTHINFO.cs
- WebInvokeAttribute.cs
- glyphs.cs
- CLSCompliantAttribute.cs
- DataBindingHandlerAttribute.cs
- TogglePatternIdentifiers.cs
- ThreadStateException.cs
- ChannelFactory.cs
- StorageFunctionMapping.cs
- RemoveFromCollection.cs
- ContentElement.cs
- ZipIOFileItemStream.cs
- KnownBoxes.cs
- PeerEndPoint.cs
- GetReadStreamResult.cs
- UserNamePasswordValidator.cs
- SqlDataSourceCache.cs
- ValueUnavailableException.cs
- InputGestureCollection.cs
- InternalTypeHelper.cs
- XmlCodeExporter.cs
- MergablePropertyAttribute.cs
- URLIdentityPermission.cs
- SatelliteContractVersionAttribute.cs
- SchemaCollectionCompiler.cs
- TextChangedEventArgs.cs
- XComponentModel.cs
- StringToken.cs
- SafeRightsManagementPubHandle.cs
- SupportingTokenChannel.cs
- DrawingVisualDrawingContext.cs
- CompilerParameters.cs
- AccessibilityHelperForXpWin2k3.cs
- ArraySortHelper.cs
- TimeoutValidationAttribute.cs
- WebSysDefaultValueAttribute.cs
- DataGridTable.cs
- EventLogPermissionHolder.cs
- TimerEventSubscriptionCollection.cs
- ExeContext.cs
- DbModificationClause.cs
- InitiatorSessionSymmetricTransportSecurityProtocol.cs
- TextSelection.cs
- SourceElementsCollection.cs
- ClientSettingsProvider.cs
- LeftCellWrapper.cs
- RegexCompilationInfo.cs
- OraclePermission.cs
- ImageMetadata.cs
- ProcessHostConfigUtils.cs
- LocatorPart.cs
- Parser.cs
- HttpListenerElement.cs
- ToolStripDropDownItem.cs
- FactorySettingsElement.cs
- WebServiceMethodData.cs
- NodeLabelEditEvent.cs
- AuthorizationRule.cs
- XPathSelectionIterator.cs
- CompressionTransform.cs
- WaitHandleCannotBeOpenedException.cs
- HandleExceptionArgs.cs
- TextParagraphView.cs
- SoapFault.cs
- ModelItemCollection.cs
- codemethodreferenceexpression.cs
- SqlTypeSystemProvider.cs
- PropertySet.cs
- ResourceDictionary.cs
- GeneralTransform.cs
- Timer.cs
- DataGridViewColumnCollectionDialog.cs
- DbConnectionPoolIdentity.cs