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
- IncrementalReadDecoders.cs
- ExpressionConverter.cs
- FacetDescription.cs
- XmlSerializerVersionAttribute.cs
- XmlSchemaComplexContentRestriction.cs
- NullableFloatAverageAggregationOperator.cs
- CollectionViewGroupRoot.cs
- ParsedAttributeCollection.cs
- PresentationSource.cs
- CodeConditionStatement.cs
- AspProxy.cs
- MetadataWorkspace.cs
- EnumBuilder.cs
- FragmentQueryKB.cs
- RectAnimationBase.cs
- TemplateColumn.cs
- DataListGeneralPage.cs
- XmlSchemaObject.cs
- LocalizabilityAttribute.cs
- CharEntityEncoderFallback.cs
- BitmapEffectGeneralTransform.cs
- CloudCollection.cs
- BaseParser.cs
- HatchBrush.cs
- SyndicationDeserializer.cs
- InvokeProviderWrapper.cs
- cryptoapiTransform.cs
- CultureInfoConverter.cs
- InstanceDescriptor.cs
- OrderedDictionaryStateHelper.cs
- ManagementEventArgs.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- MergeFilterQuery.cs
- DynamicValueConverter.cs
- AutomationAttributeInfo.cs
- BaseAppDomainProtocolHandler.cs
- LongValidator.cs
- Image.cs
- Type.cs
- Perspective.cs
- AsmxEndpointPickerExtension.cs
- PriorityRange.cs
- DbCommandTree.cs
- GridViewSelectEventArgs.cs
- JoinTreeSlot.cs
- DataExpression.cs
- LayoutManager.cs
- StorageAssociationTypeMapping.cs
- ParserContext.cs
- relpropertyhelper.cs
- XmlJsonReader.cs
- TextBoxBaseDesigner.cs
- BigInt.cs
- LinqToSqlWrapper.cs
- URLString.cs
- SharedPerformanceCounter.cs
- TextRangeAdaptor.cs
- AcceleratedTokenProviderState.cs
- FilterableData.cs
- EmissiveMaterial.cs
- AtomServiceDocumentSerializer.cs
- ByteStreamMessageEncoderFactory.cs
- BamlLocalizableResourceKey.cs
- ZipIOLocalFileDataDescriptor.cs
- CssTextWriter.cs
- FormClosedEvent.cs
- RewritingSimplifier.cs
- TextModifierScope.cs
- SqlErrorCollection.cs
- Image.cs
- TextOptions.cs
- DataGridBoolColumn.cs
- CollectionView.cs
- ColorAnimationBase.cs
- PasswordBox.cs
- XsdDataContractExporter.cs
- ProcessThreadCollection.cs
- SetterBase.cs
- CollectionBuilder.cs
- WindowClosedEventArgs.cs
- SerialPinChanges.cs
- DebuggerAttributes.cs
- Assign.cs
- MemberAccessException.cs
- ModuleElement.cs
- ArglessEventHandlerProxy.cs
- Oid.cs
- DependsOnAttribute.cs
- TypeForwardedToAttribute.cs
- SqlParameterCollection.cs
- AgileSafeNativeMemoryHandle.cs
- SequentialActivityDesigner.cs
- FileDialogCustomPlace.cs
- ExpandSegment.cs
- TraceData.cs
- DataGridViewCellToolTipTextNeededEventArgs.cs
- SqlConnection.cs
- BufferAllocator.cs
- StandardRuntimeEnumValidator.cs
- BitmapSourceSafeMILHandle.cs