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
- SystemUdpStatistics.cs
- DiscoveryRequestHandler.cs
- TextBoxView.cs
- StdValidatorsAndConverters.cs
- ListViewEditEventArgs.cs
- JsonReaderDelegator.cs
- ISFTagAndGuidCache.cs
- ConfigurationLocation.cs
- EdgeModeValidation.cs
- RenderTargetBitmap.cs
- JsonEnumDataContract.cs
- Win32Native.cs
- DataRowIndexBuffer.cs
- FontStretchConverter.cs
- WindowsRegion.cs
- DetailsViewModeEventArgs.cs
- FileDialog_Vista.cs
- SqlIdentifier.cs
- BinaryNode.cs
- SerialPinChanges.cs
- HtmlElement.cs
- WebEncodingValidator.cs
- ListSourceHelper.cs
- FixedSOMTableRow.cs
- SchemaElementLookUpTable.cs
- FollowerQueueCreator.cs
- Substitution.cs
- ArrayElementGridEntry.cs
- NameTable.cs
- CheckBoxPopupAdapter.cs
- XmlBinaryReader.cs
- KoreanCalendar.cs
- XmlSiteMapProvider.cs
- ListDataHelper.cs
- TreeNodeClickEventArgs.cs
- WorkflowApplicationIdleEventArgs.cs
- GlobalizationAssembly.cs
- VisualProxy.cs
- DateTimeFormatInfo.cs
- UnsafeNativeMethods.cs
- BasicHttpSecurity.cs
- RegistryExceptionHelper.cs
- AppDomainUnloadedException.cs
- Win32MouseDevice.cs
- FormViewDeleteEventArgs.cs
- DropShadowEffect.cs
- SingleKeyFrameCollection.cs
- ResourceCategoryAttribute.cs
- EncryptedType.cs
- RelationshipDetailsRow.cs
- WebMessageEncodingBindingElement.cs
- String.cs
- WebServiceHost.cs
- DataBoundLiteralControl.cs
- BitmapEffectrendercontext.cs
- TextParagraphCache.cs
- FixedSOMImage.cs
- HttpFileCollection.cs
- SocketElement.cs
- AdditionalEntityFunctions.cs
- DecimalConverter.cs
- IWorkflowDebuggerService.cs
- DataGridViewCellCollection.cs
- MessageBox.cs
- Configuration.cs
- ObjectDataSourceDisposingEventArgs.cs
- InternalReceiveMessage.cs
- HttpWebResponse.cs
- ACE.cs
- WebPartEditorApplyVerb.cs
- ProcessThreadDesigner.cs
- CapabilitiesSection.cs
- XomlCompilerHelpers.cs
- SoapIncludeAttribute.cs
- DataTableReader.cs
- TreeBuilder.cs
- UnsafeNativeMethods.cs
- RegionIterator.cs
- RelatedPropertyManager.cs
- ReadOnlyDictionary.cs
- CodeTypeDeclaration.cs
- BindingList.cs
- QueryCursorEventArgs.cs
- BinHexEncoder.cs
- TransactionState.cs
- ProfileGroupSettings.cs
- ArrayTypeMismatchException.cs
- CodeGroup.cs
- SQLMembershipProvider.cs
- ActivationServices.cs
- FilteredDataSetHelper.cs
- ExternalException.cs
- MenuItemAutomationPeer.cs
- xmlsaver.cs
- DataServiceQueryException.cs
- XMLSchema.cs
- FixedSOMGroup.cs
- SystemKeyConverter.cs
- assertwrapper.cs
- _ContextAwareResult.cs