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
- HttpProxyCredentialType.cs
- CodePageEncoding.cs
- Attributes.cs
- SafeMemoryMappedFileHandle.cs
- AssociationTypeEmitter.cs
- TdsParameterSetter.cs
- XmlAnyAttributeAttribute.cs
- QueryExpression.cs
- InputScopeManager.cs
- DecoderNLS.cs
- HotSpot.cs
- MatchingStyle.cs
- WebPartTransformer.cs
- TimeSpanParse.cs
- Identity.cs
- ObjectHelper.cs
- XmlSchemaAppInfo.cs
- DesignerValidatorAdapter.cs
- MemberDomainMap.cs
- MobileCapabilities.cs
- Visual3D.cs
- SqlInternalConnectionSmi.cs
- SignedPkcs7.cs
- Visual.cs
- NetDataContractSerializer.cs
- ConstantExpression.cs
- COM2AboutBoxPropertyDescriptor.cs
- Thread.cs
- TaskFormBase.cs
- CellParagraph.cs
- SubpageParagraph.cs
- WebPartZoneCollection.cs
- MessageSmuggler.cs
- Thread.cs
- Journal.cs
- documentsequencetextview.cs
- EmptyElement.cs
- ParameterToken.cs
- CoreSwitches.cs
- JavaScriptString.cs
- ToolStripItemRenderEventArgs.cs
- NameNode.cs
- LoginNameDesigner.cs
- XmlWriterTraceListener.cs
- Action.cs
- OptimizerPatterns.cs
- RootProfilePropertySettingsCollection.cs
- TableRow.cs
- Image.cs
- CollectionChangedEventManager.cs
- TextMarkerSource.cs
- Simplifier.cs
- StreamUpdate.cs
- SourceInterpreter.cs
- FilterableAttribute.cs
- XmlSchemaObject.cs
- FastPropertyAccessor.cs
- CodeBinaryOperatorExpression.cs
- VBCodeProvider.cs
- CultureInfoConverter.cs
- CounterCreationDataCollection.cs
- InstalledFontCollection.cs
- SrgsText.cs
- PageContent.cs
- ButtonAutomationPeer.cs
- ExpressionBuilder.cs
- Converter.cs
- DesignerForm.cs
- SamlAudienceRestrictionCondition.cs
- XamlInt32CollectionSerializer.cs
- PackUriHelper.cs
- __Error.cs
- ProcessHostConfigUtils.cs
- GenerateScriptTypeAttribute.cs
- XmlReader.cs
- SiteOfOriginPart.cs
- LabelEditEvent.cs
- Pair.cs
- PageSetupDialog.cs
- basenumberconverter.cs
- NativeCompoundFileAPIs.cs
- DataBoundControlDesigner.cs
- SecurityElement.cs
- ClockController.cs
- ComPlusInstanceProvider.cs
- dtdvalidator.cs
- UpdateRecord.cs
- initElementDictionary.cs
- EventManager.cs
- IsolatedStorageFile.cs
- OrderByLifter.cs
- DockAndAnchorLayout.cs
- ColumnHeaderConverter.cs
- SmiRecordBuffer.cs
- TableLayoutPanelResizeGlyph.cs
- MenuStrip.cs
- RuleInfoComparer.cs
- UriScheme.cs
- MenuItemBinding.cs
- GeometryGroup.cs