Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- WindowInteropHelper.cs
- SafeThreadHandle.cs
- IISUnsafeMethods.cs
- RegexWorker.cs
- Utils.cs
- RadioButtonStandardAdapter.cs
- SignatureGenerator.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- ApplicationFileParser.cs
- UpDownBase.cs
- OracleMonthSpan.cs
- loginstatus.cs
- ContentFilePart.cs
- NotImplementedException.cs
- HtmlAnchor.cs
- SubMenuStyleCollection.cs
- Security.cs
- DebugHandleTracker.cs
- PrivateUnsafeNativeCompoundFileMethods.cs
- XmlSchemaElement.cs
- Int16Animation.cs
- InProcStateClientManager.cs
- BufferedReadStream.cs
- MaskedTextProvider.cs
- BinaryMethodMessage.cs
- _ScatterGatherBuffers.cs
- BinaryUtilClasses.cs
- DataGridTextBox.cs
- XD.cs
- EventlogProvider.cs
- SizeAnimationUsingKeyFrames.cs
- SqlDataReader.cs
- GlyphRun.cs
- HandlerFactoryWrapper.cs
- OdbcConnectionStringbuilder.cs
- FormsIdentity.cs
- ToolStripDropDownMenu.cs
- WindowsFormsSynchronizationContext.cs
- OutputWindow.cs
- ButtonFieldBase.cs
- DataViewListener.cs
- Stack.cs
- DefaultObjectMappingItemCollection.cs
- StylusPlugin.cs
- Utilities.cs
- AspCompat.cs
- BufferedWebEventProvider.cs
- Automation.cs
- SystemIPInterfaceStatistics.cs
- PointAnimation.cs
- SafeNativeMethods.cs
- ColorTranslator.cs
- SqlConnectionPoolProviderInfo.cs
- PenLineJoinValidation.cs
- ConsoleTraceListener.cs
- ListViewDataItem.cs
- XmlLangPropertyAttribute.cs
- GridEntry.cs
- HelpEvent.cs
- TypefaceMetricsCache.cs
- DataControlButton.cs
- WindowsUpDown.cs
- Journaling.cs
- isolationinterop.cs
- SplitterEvent.cs
- TextContainerChangedEventArgs.cs
- XmlMembersMapping.cs
- AttachedProperty.cs
- basevalidator.cs
- Grammar.cs
- oledbmetadatacolumnnames.cs
- DrawItemEvent.cs
- ArcSegment.cs
- IsolationInterop.cs
- PerformanceCountersBase.cs
- SupportsPreviewControlAttribute.cs
- iisPickupDirectory.cs
- SafeEventLogReadHandle.cs
- RootBrowserWindowAutomationPeer.cs
- XmlSchemaGroup.cs
- CalendarAutoFormatDialog.cs
- DefaultShape.cs
- ExceptionUtil.cs
- XPathQilFactory.cs
- WsdlBuildProvider.cs
- ToolStripOverflowButton.cs
- ScriptModule.cs
- CheckBoxRenderer.cs
- CompilerInfo.cs
- Setter.cs
- XamlSerializationHelper.cs
- SyndicationContent.cs
- ListViewHitTestInfo.cs
- OleDbConnectionFactory.cs
- ArgumentValidation.cs
- RecognizeCompletedEventArgs.cs
- CompilerErrorCollection.cs
- FileDialogCustomPlace.cs
- ISO2022Encoding.cs
- ObservableDictionary.cs