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
- UserControlParser.cs
- sqlnorm.cs
- BidOverLoads.cs
- XmlArrayItemAttribute.cs
- DataGridViewComboBoxEditingControl.cs
- RuleSettingsCollection.cs
- XamlParser.cs
- CallbackDebugBehavior.cs
- MemberInitExpression.cs
- ProtocolsSection.cs
- DataServiceStreamProviderWrapper.cs
- Collection.cs
- AuthenticationModuleElement.cs
- connectionpool.cs
- CultureTable.cs
- TextPattern.cs
- ListenDesigner.cs
- IteratorFilter.cs
- RowVisual.cs
- ReadOnlyHierarchicalDataSourceView.cs
- ActivityExecutorOperation.cs
- MultiPropertyDescriptorGridEntry.cs
- SafeNativeMethods.cs
- WebBrowser.cs
- EntityContainerAssociationSetEnd.cs
- XsltCompileContext.cs
- DataObjectMethodAttribute.cs
- UnsafeNativeMethods.cs
- JsonQNameDataContract.cs
- NameTable.cs
- CompilerState.cs
- TypeBinaryExpression.cs
- TextInfo.cs
- OperationCanceledException.cs
- JournalEntryListConverter.cs
- ConfigurationException.cs
- Tool.cs
- WizardForm.cs
- Graphics.cs
- RuleAction.cs
- DetailsViewInsertEventArgs.cs
- XamlWriterExtensions.cs
- Stack.cs
- CompilerParameters.cs
- DictationGrammar.cs
- InvokeMethod.cs
- ToolStripStatusLabel.cs
- PTUtility.cs
- OdbcConnectionFactory.cs
- Button.cs
- ProcessModelSection.cs
- CodeNamespaceCollection.cs
- XmlChildEnumerator.cs
- SmtpSection.cs
- ForeignConstraint.cs
- peersecuritysettings.cs
- OpacityConverter.cs
- SystemDiagnosticsSection.cs
- ScrollItemPatternIdentifiers.cs
- CheckPair.cs
- CorrelationQueryBehavior.cs
- SkewTransform.cs
- X509InitiatorCertificateServiceElement.cs
- Tablet.cs
- BamlTreeNode.cs
- CaseInsensitiveComparer.cs
- ButtonBaseDesigner.cs
- BuildResult.cs
- BindingContext.cs
- Activator.cs
- baseshape.cs
- OracleTimeSpan.cs
- BindingGroup.cs
- XPathDocumentBuilder.cs
- SrgsElementFactoryCompiler.cs
- ServiceModelEnumValidator.cs
- MonthChangedEventArgs.cs
- MemberInitExpression.cs
- PropertyMapper.cs
- Hex.cs
- XPathAncestorIterator.cs
- PathFigureCollectionValueSerializer.cs
- Main.cs
- TableItemProviderWrapper.cs
- StructuralCache.cs
- ExtendedPropertyDescriptor.cs
- PointAnimation.cs
- ViewValidator.cs
- MSAAEventDispatcher.cs
- ApplicationCommands.cs
- EventLogTraceListener.cs
- FillErrorEventArgs.cs
- AttachedAnnotation.cs
- ByteStorage.cs
- GridViewSelectEventArgs.cs
- TdsValueSetter.cs
- MultiSelector.cs
- HeaderElement.cs
- AutoScrollHelper.cs
- Quaternion.cs