Code:
/ 4.0 / 4.0 / 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. //------------------------------------------------------------------------------ // // 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
- Thread.cs
- TypeSource.cs
- Win32KeyboardDevice.cs
- SafeBitVector32.cs
- DSASignatureDeformatter.cs
- WebPartsPersonalizationAuthorization.cs
- _ProxyChain.cs
- HtmlControl.cs
- PageCatalogPart.cs
- DBSqlParserTable.cs
- AudioBase.cs
- ObjectRef.cs
- MimeWriter.cs
- GestureRecognitionResult.cs
- PerformanceCounterPermissionEntry.cs
- SchemaNamespaceManager.cs
- OleDbDataReader.cs
- UnsafeNativeMethods.cs
- ToolboxItemCollection.cs
- ReachDocumentReferenceSerializerAsync.cs
- ArrayHelper.cs
- CachedCompositeFamily.cs
- FixedTextContainer.cs
- PersonalizationProvider.cs
- RightsManagementPermission.cs
- DecimalAnimationBase.cs
- RawUIStateInputReport.cs
- CodeDomDesignerLoader.cs
- SystemUnicastIPAddressInformation.cs
- HostingEnvironment.cs
- GradientStop.cs
- SymmetricKey.cs
- ItemMap.cs
- XmlTextAttribute.cs
- GeometryGroup.cs
- PropertyValueChangedEvent.cs
- MsmqUri.cs
- coordinatorscratchpad.cs
- QilList.cs
- ActivityExecutorOperation.cs
- PartManifestEntry.cs
- ScriptResourceAttribute.cs
- CodeGenHelper.cs
- XpsSerializerFactory.cs
- Environment.cs
- GraphicsPathIterator.cs
- TaskExceptionHolder.cs
- SharedPersonalizationStateInfo.cs
- WithParamAction.cs
- DataRow.cs
- TreeNodeSelectionProcessor.cs
- DataPointer.cs
- ToolStripSystemRenderer.cs
- SelectionRange.cs
- DbParameterCollectionHelper.cs
- RowToFieldTransformer.cs
- WebPartEditVerb.cs
- PointAnimationUsingPath.cs
- CachingHintValidation.cs
- Camera.cs
- AmbientProperties.cs
- MsmqChannelFactory.cs
- Button.cs
- RowVisual.cs
- JournalEntry.cs
- WindowsHyperlink.cs
- TabPage.cs
- ButtonAutomationPeer.cs
- ItemDragEvent.cs
- XmlToDatasetMap.cs
- WebResponse.cs
- SelectQueryOperator.cs
- RankException.cs
- AnimatedTypeHelpers.cs
- XsdDuration.cs
- TimeSpanSecondsConverter.cs
- SystemNetworkInterface.cs
- MediaTimeline.cs
- WebBrowserNavigatingEventHandler.cs
- EditorAttribute.cs
- _ListenerAsyncResult.cs
- Int16AnimationBase.cs
- BinHexEncoding.cs
- SByteConverter.cs
- LayoutUtils.cs
- Signature.cs
- DuplicateWaitObjectException.cs
- WebScriptEnablingBehavior.cs
- SchemaImporter.cs
- COM2PictureConverter.cs
- ContentPosition.cs
- ObjectListCommandEventArgs.cs
- ReaderContextStackData.cs
- XmlDictionaryString.cs
- CodeArrayIndexerExpression.cs
- StorageFunctionMapping.cs
- CursorConverter.cs
- DetailsView.cs
- Utils.cs
- DataService.cs