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
- ComboBox.cs
- HttpBindingExtension.cs
- LinqToSqlWrapper.cs
- odbcmetadatacollectionnames.cs
- UInt32Storage.cs
- OlePropertyStructs.cs
- XmlArrayItemAttribute.cs
- DataGridCellInfo.cs
- PrefixQName.cs
- ContainerSelectorGlyph.cs
- EllipseGeometry.cs
- IMembershipProvider.cs
- EUCJPEncoding.cs
- securitycriticaldata.cs
- MemberProjectionIndex.cs
- SmtpNtlmAuthenticationModule.cs
- XslVisitor.cs
- MeasurementDCInfo.cs
- Emitter.cs
- Point3DCollectionConverter.cs
- RegexGroup.cs
- ApplicationSecurityInfo.cs
- CompilerError.cs
- CuspData.cs
- CacheEntry.cs
- CustomWebEventKey.cs
- DSASignatureFormatter.cs
- WebPartZoneBase.cs
- XPathCompileException.cs
- WorkflowItemsPresenter.cs
- DataGridViewColumnDesignTimeVisibleAttribute.cs
- UnionExpr.cs
- DocumentGridContextMenu.cs
- BoundField.cs
- ButtonPopupAdapter.cs
- objectresult_tresulttype.cs
- brushes.cs
- BlurBitmapEffect.cs
- TransactionCache.cs
- SynchronizedReadOnlyCollection.cs
- KeySplineConverter.cs
- OpCodes.cs
- ImageInfo.cs
- ForwardPositionQuery.cs
- AddingNewEventArgs.cs
- AutoSizeToolBoxItem.cs
- LogWriteRestartAreaState.cs
- SqlUDTStorage.cs
- TemplateBindingExtensionConverter.cs
- SoapDocumentMethodAttribute.cs
- ApplicationSettingsBase.cs
- SEHException.cs
- RolePrincipal.cs
- translator.cs
- XmlDocumentFieldSchema.cs
- BamlLocalizableResource.cs
- DetailsViewPagerRow.cs
- DetailsView.cs
- EllipticalNodeOperations.cs
- CanExpandCollapseAllConverter.cs
- Icon.cs
- ValueQuery.cs
- ActivityMarkupSerializationProvider.cs
- RuntimeResourceSet.cs
- ChtmlTextWriter.cs
- PersonalizablePropertyEntry.cs
- RemoveStoryboard.cs
- StrokeIntersection.cs
- WindowsGraphics2.cs
- DelegateBodyWriter.cs
- Char.cs
- ShaderRenderModeValidation.cs
- IUnknownConstantAttribute.cs
- KnownColorTable.cs
- ObjectPropertyMapping.cs
- __Error.cs
- ObjectDataSourceMethodEventArgs.cs
- LockCookie.cs
- GenericWebPart.cs
- PersonalizationStateQuery.cs
- Exceptions.cs
- FontFamily.cs
- MoveSizeWinEventHandler.cs
- NetNamedPipeSecurityElement.cs
- SliderAutomationPeer.cs
- ColumnMapVisitor.cs
- Identifier.cs
- WindowsPrincipal.cs
- XmlDataLoader.cs
- Fonts.cs
- SystemNetHelpers.cs
- AmbientLight.cs
- StatusBar.cs
- ControlParameter.cs
- CookielessHelper.cs
- PackagePart.cs
- RpcCryptoContext.cs
- ListControlConvertEventArgs.cs
- UrlPropertyAttribute.cs
- Visual3DCollection.cs