Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / xsp / System / Web / UI / ThemeableAttribute.cs / 2 / ThemeableAttribute.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* */ namespace System.Web.UI { using System; using System.Collections; using System.ComponentModel; using System.Security.Permissions; ////// [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] [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; using System.Security.Permissions; ////// [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] [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
- SqlIdentifier.cs
- RunClient.cs
- TokenizerHelper.cs
- GcHandle.cs
- InkPresenter.cs
- TriggerAction.cs
- ActivityExecutionContext.cs
- sqlnorm.cs
- XappLauncher.cs
- HtmlShim.cs
- CoTaskMemHandle.cs
- PropertyRecord.cs
- DataGridTableStyleMappingNameEditor.cs
- MaskedTextBox.cs
- ConfigUtil.cs
- SqlProviderServices.cs
- X509Certificate2.cs
- ElementNotEnabledException.cs
- DelimitedListTraceListener.cs
- SevenBitStream.cs
- TextServicesContext.cs
- DataGridViewDataConnection.cs
- Figure.cs
- ImageCreator.cs
- CollectionBuilder.cs
- CollectionMarkupSerializer.cs
- FaultHandlingFilter.cs
- DataGridClipboardCellContent.cs
- _BasicClient.cs
- DoubleIndependentAnimationStorage.cs
- DBNull.cs
- NotCondition.cs
- shaper.cs
- ConnectionPoint.cs
- Rectangle.cs
- assemblycache.cs
- ClockController.cs
- Substitution.cs
- XamlVector3DCollectionSerializer.cs
- GeneralTransform3DTo2D.cs
- PropertyValueChangedEvent.cs
- Model3DGroup.cs
- ListSortDescriptionCollection.cs
- TimeEnumHelper.cs
- ResourcePermissionBase.cs
- SoapCodeExporter.cs
- XamlTemplateSerializer.cs
- Function.cs
- ReadOnlyCollection.cs
- WsdlInspector.cs
- PerspectiveCamera.cs
- CallbackDebugBehavior.cs
- login.cs
- GetWorkflowTree.cs
- StrokeCollectionConverter.cs
- ContextQuery.cs
- MailMessage.cs
- DynamicMethod.cs
- OrderedDictionary.cs
- XsdBuilder.cs
- UTF32Encoding.cs
- TypeExtensionConverter.cs
- DataGridLinkButton.cs
- XPathItem.cs
- EntityDataSourceEntityTypeFilterConverter.cs
- TraceContextRecord.cs
- SynchronizingStream.cs
- TCPClient.cs
- PinnedBufferMemoryStream.cs
- PropertyFilter.cs
- CreateUserWizard.cs
- ChildTable.cs
- RoutedEventValueSerializer.cs
- StdValidatorsAndConverters.cs
- AspNetSynchronizationContext.cs
- ExpressionBinding.cs
- TriggerAction.cs
- DrawingAttributes.cs
- Security.cs
- TypeReference.cs
- DrawListViewSubItemEventArgs.cs
- SafeLibraryHandle.cs
- NativeMethods.cs
- SimpleHandlerFactory.cs
- CredentialCache.cs
- LocatorManager.cs
- OutputWindow.cs
- LocatorManager.cs
- SelectionHighlightInfo.cs
- PersianCalendar.cs
- ProcessStartInfo.cs
- HttpListener.cs
- MergablePropertyAttribute.cs
- ModuleBuilder.cs
- XamlHostingSectionGroup.cs
- BadImageFormatException.cs
- TraceLog.cs
- HttpAsyncResult.cs
- DataGridColumnCollection.cs
- WebPartDisplayMode.cs