Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / xsp / System / Web / UI / FilterableAttribute.cs / 1 / 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; ////// [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] [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; ////// [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] [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
- MenuItem.cs
- Semaphore.cs
- MethodInfo.cs
- DecodeHelper.cs
- NumericUpDownAcceleration.cs
- InvokeGenerator.cs
- DoubleAnimation.cs
- TextureBrush.cs
- DecoderExceptionFallback.cs
- SettingsAttributes.cs
- EntityDataSourceColumn.cs
- _HTTPDateParse.cs
- SystemIPAddressInformation.cs
- ButtonBase.cs
- FrameworkContentElement.cs
- X509CertificateStore.cs
- Symbol.cs
- DebugViewWriter.cs
- EntityCommandDefinition.cs
- JournalEntryStack.cs
- DataGrid.cs
- ReadOnlyHierarchicalDataSourceView.cs
- FileNotFoundException.cs
- ErrorStyle.cs
- PolygonHotSpot.cs
- DesignerWithHeader.cs
- OdbcHandle.cs
- ResourcePermissionBaseEntry.cs
- GridItemProviderWrapper.cs
- DataGridViewDataErrorEventArgs.cs
- HwndMouseInputProvider.cs
- XamlContextStack.cs
- JapaneseCalendar.cs
- HttpListenerException.cs
- XPathNodeIterator.cs
- RoutingSection.cs
- SafeEventLogReadHandle.cs
- AttributedMetaModel.cs
- RequestResizeEvent.cs
- XslAst.cs
- ToolStripOverflowButton.cs
- OperationResponse.cs
- ADConnectionHelper.cs
- SHA512CryptoServiceProvider.cs
- EnumType.cs
- Inline.cs
- WindowHelperService.cs
- SequentialUshortCollection.cs
- StrokeNode.cs
- WindowInteropHelper.cs
- OleDbWrapper.cs
- IOException.cs
- ResourceReader.cs
- ProcessManager.cs
- RelatedView.cs
- ProfileManager.cs
- LogicalTreeHelper.cs
- Geometry3D.cs
- SqlDependency.cs
- OleDbMetaDataFactory.cs
- DependencyObjectProvider.cs
- ConnectionStringSettingsCollection.cs
- PropertyGridView.cs
- RIPEMD160Managed.cs
- DataTable.cs
- SourceInterpreter.cs
- ServiceHostingEnvironment.cs
- VirtualPathProvider.cs
- VisualBrush.cs
- ObjectStateEntryDbDataRecord.cs
- listitem.cs
- AssemblyHelper.cs
- Win32KeyboardDevice.cs
- CodeSnippetTypeMember.cs
- PrincipalPermission.cs
- PageBreakRecord.cs
- RSAOAEPKeyExchangeDeformatter.cs
- SynchronizationLockException.cs
- HttpRuntime.cs
- WmlTextViewAdapter.cs
- HttpStreamFormatter.cs
- SafeLibraryHandle.cs
- NetworkInformationPermission.cs
- TraceHandler.cs
- ColumnHeaderConverter.cs
- AxHost.cs
- WindowsAuthenticationModule.cs
- DynamicValidator.cs
- SafeLocalMemHandle.cs
- CommandValueSerializer.cs
- COM2TypeInfoProcessor.cs
- RequestCacheValidator.cs
- SecurityHelper.cs
- ScriptReferenceBase.cs
- ACE.cs
- ClientRuntime.cs
- WebPartDisplayMode.cs
- RuleSetDialog.cs
- SessionStateModule.cs
- Paragraph.cs