Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / xsp / System / Web / UI / ThemeableAttribute.cs / 1 / 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;
}
///
/// Indicates if the property is themeable.
///
public bool Themeable {
get {
return _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;
}
///
/// Indicates if the property is themeable.
///
public bool Themeable {
get {
return _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
- CommonDialog.cs
- TransactionalPackage.cs
- initElementDictionary.cs
- DebugHandleTracker.cs
- PeerCollaboration.cs
- ControlBindingsConverter.cs
- COM2ColorConverter.cs
- IteratorFilter.cs
- Transform3D.cs
- AdRotatorDesigner.cs
- MemberDescriptor.cs
- WebServiceReceiveDesigner.cs
- XmlDigitalSignatureProcessor.cs
- Rect3D.cs
- X509ChainPolicy.cs
- UrlAuthFailedErrorFormatter.cs
- ScriptServiceAttribute.cs
- XmlText.cs
- CodeRegionDirective.cs
- OAVariantLib.cs
- EventLog.cs
- IntSecurity.cs
- ReversePositionQuery.cs
- XmlSchemaSet.cs
- ColumnClickEvent.cs
- IDReferencePropertyAttribute.cs
- DataBoundControlAdapter.cs
- XmlUtil.cs
- ReturnValue.cs
- xsdvalidator.cs
- InstanceView.cs
- OracleInternalConnection.cs
- MailWriter.cs
- GenericTypeParameterBuilder.cs
- ContextItemManager.cs
- PerformanceCounterPermission.cs
- DataGridViewCellStyleConverter.cs
- XmlConverter.cs
- CngProperty.cs
- RectangleHotSpot.cs
- CallbackException.cs
- SafeNativeMethods.cs
- MenuItemBindingCollection.cs
- DtdParser.cs
- ContainerControlDesigner.cs
- DateRangeEvent.cs
- PersonalizationState.cs
- DataGridItemCollection.cs
- ExclusiveHandle.cs
- RowParagraph.cs
- CommentGlyph.cs
- DataSourceSelectArguments.cs
- PeerSecurityHelpers.cs
- DescendantOverDescendantQuery.cs
- OracleConnectionFactory.cs
- IndexOutOfRangeException.cs
- TraceLog.cs
- ExceptionUtility.cs
- WebDisplayNameAttribute.cs
- XPathExpr.cs
- TextTreeTextNode.cs
- ReferentialConstraint.cs
- WebBrowserHelper.cs
- DataSourceControl.cs
- BufferedGraphicsManager.cs
- EventLogPermissionEntry.cs
- RecognizerBase.cs
- SqlServer2KCompatibilityAnnotation.cs
- ComAwareEventInfo.cs
- FileDataSourceCache.cs
- Relationship.cs
- PrePostDescendentsWalker.cs
- HtmlElementEventArgs.cs
- ConfigurationPropertyAttribute.cs
- IImplicitResourceProvider.cs
- SqlClientWrapperSmiStreamChars.cs
- SerialReceived.cs
- KerberosTicketHashIdentifierClause.cs
- NetTcpSecurity.cs
- TextEditorThreadLocalStore.cs
- _NetworkingPerfCounters.cs
- IpcChannelHelper.cs
- ToolZone.cs
- AuthenticationModuleElementCollection.cs
- DBAsyncResult.cs
- PropertyInformationCollection.cs
- NativeMethods.cs
- AssemblyHash.cs
- DataGridViewCellLinkedList.cs
- ApplicationCommands.cs
- WhitespaceReader.cs
- GridLengthConverter.cs
- TreeViewCancelEvent.cs
- ObfuscateAssemblyAttribute.cs
- JournalEntry.cs
- FormatterConverter.cs
- XmlSerializationReader.cs
- Delegate.cs
- Hash.cs
- PerformanceCounterLib.cs