Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / UI / ThemeableAttribute.cs / 1305376 / ThemeableAttribute.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* */ namespace System.Web.UI { using System; using System.Collections; using System.ComponentModel; ////// [AttributeUsage(AttributeTargets.Property | AttributeTargets.Class)] public sealed class ThemeableAttribute : Attribute { ////// /// /// public static readonly ThemeableAttribute Yes = new ThemeableAttribute(true); ////// /// /// public static readonly ThemeableAttribute No = new ThemeableAttribute(false); ////// /// /// public static readonly ThemeableAttribute Default = Yes; private bool _themeable = false; private static Hashtable _themeableTypes; static ThemeableAttribute() { // Create a synchronized wrapper _themeableTypes = Hashtable.Synchronized(new Hashtable()); } ////// /// public ThemeableAttribute(bool themeable) { _themeable = themeable; } ////// public bool Themeable { get { return _themeable; } } ///Indicates if the property is themeable. ///public override bool Equals(object obj) { if (obj == this) { return true; } ThemeableAttribute other = obj as ThemeableAttribute; return (other != null) && (other.Themeable == _themeable); } /// public override int GetHashCode() { return _themeable.GetHashCode(); } /// public override bool IsDefaultAttribute() { return this.Equals(Default); } public static bool IsObjectThemeable(Object instance) { if (instance == null) throw new ArgumentNullException("instance"); return IsTypeThemeable(instance.GetType()); } public static bool IsTypeThemeable(Type type) { if (type == null) throw new ArgumentNullException("type"); object result = _themeableTypes[type]; if (result != null) { return (bool)result; } //System.ComponentModel.AttributeCollection attrs = TypeDescriptor.GetAttributes(type); //ThemeableAttribute attr = (ThemeableAttribute)attrs[typeof(ThemeableAttribute)]; ThemeableAttribute attr = Attribute.GetCustomAttribute(type, typeof(ThemeableAttribute)) as ThemeableAttribute; result = (attr != null) && attr.Themeable; _themeableTypes[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
- PixelFormat.cs
- OpCellTreeNode.cs
- ToolboxComponentsCreatingEventArgs.cs
- HybridDictionary.cs
- StylusTip.cs
- AttachedAnnotationChangedEventArgs.cs
- CharacterBufferReference.cs
- DrawListViewColumnHeaderEventArgs.cs
- CanExpandCollapseAllConverter.cs
- PTManager.cs
- CheckableControlBaseAdapter.cs
- FormatVersion.cs
- ContentIterators.cs
- AQNBuilder.cs
- PriorityBindingExpression.cs
- baseaxisquery.cs
- IntegerValidator.cs
- BasicViewGenerator.cs
- DoubleConverter.cs
- TriggerActionCollection.cs
- CreateUserErrorEventArgs.cs
- ExpandCollapseProviderWrapper.cs
- IntranetCredentialPolicy.cs
- ICspAsymmetricAlgorithm.cs
- safelink.cs
- EntityContainerAssociationSet.cs
- TextSelectionProcessor.cs
- CodePageEncoding.cs
- XComponentModel.cs
- ValidationSummary.cs
- NativeRightsManagementAPIsStructures.cs
- EdmRelationshipRoleAttribute.cs
- CombinedGeometry.cs
- SettingsAttributes.cs
- SoapTypeAttribute.cs
- XpsImage.cs
- IsolationInterop.cs
- XmlNotation.cs
- CodeSnippetTypeMember.cs
- SByteStorage.cs
- CodeChecksumPragma.cs
- ReliableSessionElement.cs
- InProcStateClientManager.cs
- ConcurrentDictionary.cs
- TraceHandler.cs
- IntSecurity.cs
- TemplateBuilder.cs
- Viewport3DVisual.cs
- CodeTypeDeclarationCollection.cs
- CustomCredentialPolicy.cs
- CacheForPrimitiveTypes.cs
- UICuesEvent.cs
- QfeChecker.cs
- XmlSchemaObjectTable.cs
- ListBoxItemWrapperAutomationPeer.cs
- CopyAction.cs
- CommonProperties.cs
- AdornerLayer.cs
- ImportContext.cs
- StringAttributeCollection.cs
- JsonByteArrayDataContract.cs
- DocumentGridPage.cs
- BehaviorEditorPart.cs
- MobileFormsAuthentication.cs
- DebuggerService.cs
- InsufficientMemoryException.cs
- BinaryReader.cs
- WebPartPersonalization.cs
- ImageProxy.cs
- WebHeaderCollection.cs
- TextShapeableCharacters.cs
- DisplayNameAttribute.cs
- SystemIcons.cs
- TreeNodeStyleCollection.cs
- XmlAutoDetectWriter.cs
- HtmlShim.cs
- BitmapPalette.cs
- OverflowException.cs
- CommandBinding.cs
- ListViewItem.cs
- EntityException.cs
- FileCodeGroup.cs
- PageBuildProvider.cs
- X509Utils.cs
- DrawingVisualDrawingContext.cs
- FilterableAttribute.cs
- DecoderFallback.cs
- ObjectDataSourceMethodEventArgs.cs
- Simplifier.cs
- OletxEnlistment.cs
- Decoder.cs
- AsyncDataRequest.cs
- TypeSchema.cs
- XsltException.cs
- NameValuePair.cs
- EntityContainerEntitySet.cs
- ProtocolsConfigurationEntry.cs
- CrossSiteScriptingValidation.cs
- NetMsmqBindingElement.cs
- WeakEventManager.cs