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
- ScrollEvent.cs
- ConnectionStringsSection.cs
- TemplatePagerField.cs
- SqlCacheDependencySection.cs
- DynamicValueConverter.cs
- DataSvcMapFile.cs
- HtmlControl.cs
- AttributeQuery.cs
- BasicKeyConstraint.cs
- WbmpConverter.cs
- RemoteWebConfigurationHost.cs
- XPathAncestorQuery.cs
- PointCollectionValueSerializer.cs
- CellLabel.cs
- Logging.cs
- userdatakeys.cs
- FixedTextView.cs
- CompiledRegexRunnerFactory.cs
- TextEndOfParagraph.cs
- Model3DCollection.cs
- Parallel.cs
- LoginCancelEventArgs.cs
- SQLString.cs
- StorageConditionPropertyMapping.cs
- EncodingInfo.cs
- ResourceType.cs
- ProcessProtocolHandler.cs
- FileDialogCustomPlaces.cs
- SqlDataReaderSmi.cs
- URLEditor.cs
- DataException.cs
- TemplateBamlTreeBuilder.cs
- _FixedSizeReader.cs
- Command.cs
- TemplateField.cs
- RegistrationProxy.cs
- WsdlBuildProvider.cs
- SoapHeaderException.cs
- BaseCodeDomTreeGenerator.cs
- DbConnectionClosed.cs
- XmlHierarchyData.cs
- PropertyReferenceSerializer.cs
- QuestionEventArgs.cs
- WebPartRestoreVerb.cs
- ProvideValueServiceProvider.cs
- TypeHelper.cs
- WebBrowserNavigatingEventHandler.cs
- Module.cs
- DictionaryMarkupSerializer.cs
- ButtonChrome.cs
- VersionConverter.cs
- MediaContextNotificationWindow.cs
- GraphicsContext.cs
- AttributeQuery.cs
- FileLogRecordStream.cs
- LiteralControl.cs
- SupportsEventValidationAttribute.cs
- ConstructorNeedsTagAttribute.cs
- XamlPathDataSerializer.cs
- ParallelQuery.cs
- CodeMemberMethod.cs
- DbParameterCollectionHelper.cs
- AnnotationHighlightLayer.cs
- HtmlElementErrorEventArgs.cs
- TemplateInstanceAttribute.cs
- NotFiniteNumberException.cs
- TabControlCancelEvent.cs
- WebBrowserNavigatingEventHandler.cs
- AutomationElementIdentifiers.cs
- __Error.cs
- JsonByteArrayDataContract.cs
- ListSortDescription.cs
- GenericAuthenticationEventArgs.cs
- Queue.cs
- FileFormatException.cs
- PlacementWorkspace.cs
- ObjectHandle.cs
- TabItem.cs
- DataObject.cs
- MsmqTransportSecurity.cs
- FixedPageProcessor.cs
- CompareInfo.cs
- Qualifier.cs
- SimpleExpression.cs
- ObjectParameterCollection.cs
- DesignBindingValueUIHandler.cs
- FixedSOMLineRanges.cs
- CellLabel.cs
- _ServiceNameStore.cs
- GridViewItemAutomationPeer.cs
- GeneralTransform3DTo2DTo3D.cs
- UnlockInstanceAsyncResult.cs
- WebPartDescription.cs
- Tokenizer.cs
- RepeatInfo.cs
- SignerInfo.cs
- WebPartCollection.cs
- GPPOINT.cs
- IntermediatePolicyValidator.cs
- StateRuntime.cs