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
- SamlSecurityTokenAuthenticator.cs
- WebPartConnectionsCancelVerb.cs
- VectorConverter.cs
- WorkflowPageSetupDialog.cs
- DBSqlParserTable.cs
- EventWaitHandle.cs
- RectAnimation.cs
- FastEncoderStatics.cs
- HwndSourceKeyboardInputSite.cs
- UIntPtr.cs
- ToolStripGripRenderEventArgs.cs
- mediaeventshelper.cs
- RawStylusInputCustomData.cs
- TypedReference.cs
- SHA512Managed.cs
- ApplicationContext.cs
- InstanceCompleteException.cs
- WebPartDeleteVerb.cs
- StreamWithDictionary.cs
- SqlRetyper.cs
- ServiceProviders.cs
- MsmqQueue.cs
- PerformanceCounterManager.cs
- ArraySegment.cs
- GetPageNumberCompletedEventArgs.cs
- XomlCompiler.cs
- ArrayTypeMismatchException.cs
- EncryptedPackageFilter.cs
- SmtpNtlmAuthenticationModule.cs
- PageParserFilter.cs
- DoubleCollection.cs
- WindowInteropHelper.cs
- ConfigurationStrings.cs
- ListItemConverter.cs
- TimerEventSubscriptionCollection.cs
- DataGridViewSortCompareEventArgs.cs
- MetabaseServerConfig.cs
- SwitchElementsCollection.cs
- ClientFormsAuthenticationCredentials.cs
- Regex.cs
- WindowsScrollBar.cs
- NamedPipeAppDomainProtocolHandler.cs
- ToolStripItemCollection.cs
- WorkflowRuntimeService.cs
- BoundPropertyEntry.cs
- DecoderBestFitFallback.cs
- EasingQuaternionKeyFrame.cs
- XamlFrame.cs
- MasterPageBuildProvider.cs
- RepeaterItemEventArgs.cs
- HttpRequestCacheValidator.cs
- HttpRequest.cs
- EditBehavior.cs
- DataGridViewCellParsingEventArgs.cs
- ScrollChrome.cs
- SqlServices.cs
- EncryptedData.cs
- DesignSurface.cs
- ColumnMapCopier.cs
- GeneralTransformGroup.cs
- XmlNodeWriter.cs
- MaskDescriptor.cs
- SqlDataReader.cs
- PolicyStatement.cs
- PerspectiveCamera.cs
- PrintControllerWithStatusDialog.cs
- DateTimeConverter.cs
- AdCreatedEventArgs.cs
- ServiceProviders.cs
- PropertyEmitterBase.cs
- SchemaNames.cs
- RecordManager.cs
- FloaterParagraph.cs
- SafeEventLogWriteHandle.cs
- WebHttpSecurity.cs
- ISFClipboardData.cs
- DesignTable.cs
- TextRangeEdit.cs
- XMLUtil.cs
- EntityDataSourceContainerNameItem.cs
- RuntimeEnvironment.cs
- TableCellCollection.cs
- MatrixUtil.cs
- ControllableStoryboardAction.cs
- DataContractSet.cs
- WindowsAltTab.cs
- CfgParser.cs
- PageParserFilter.cs
- TailPinnedEventArgs.cs
- PEFileEvidenceFactory.cs
- TypeExtension.cs
- FolderLevelBuildProviderCollection.cs
- ImageInfo.cs
- DetailsViewActionList.cs
- FormViewAutoFormat.cs
- CharStorage.cs
- Logging.cs
- ServiceModelReg.cs
- isolationinterop.cs
- DatePicker.cs