Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / 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)];
result = (attr != null) && attr.Themeable;
_themeableTypes[type] = result;
return (bool)result;
}
}
}
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DiscoveryEndpointElement.cs
- SystemColors.cs
- HtmlUtf8RawTextWriter.cs
- ValidationEventArgs.cs
- RectangleConverter.cs
- SmiEventSink.cs
- Binding.cs
- X509Utils.cs
- XmlEncodedRawTextWriter.cs
- PixelFormats.cs
- ObjectDataSource.cs
- TransactionBridge.cs
- QueryResults.cs
- AccessViolationException.cs
- DbProviderFactory.cs
- AttachedPropertyBrowsableForChildrenAttribute.cs
- XmlHierarchyData.cs
- UnlockInstanceAsyncResult.cs
- objectquery_tresulttype.cs
- TabControl.cs
- ProcessModelSection.cs
- GZipDecoder.cs
- MessageBox.cs
- HMACSHA256.cs
- Run.cs
- TransactionProxy.cs
- FlowDocumentPaginator.cs
- SafeRightsManagementQueryHandle.cs
- KnownBoxes.cs
- SHA384.cs
- Convert.cs
- ExitEventArgs.cs
- _NegotiateClient.cs
- MDIClient.cs
- SafeNativeMethods.cs
- RelatedPropertyManager.cs
- FlowDocumentFormatter.cs
- XmlCharCheckingWriter.cs
- BuildDependencySet.cs
- CultureTableRecord.cs
- RangeValueProviderWrapper.cs
- EventRoute.cs
- NumericUpDown.cs
- NameValueConfigurationCollection.cs
- SoapException.cs
- TabPage.cs
- XmlNodeReader.cs
- ByteAnimation.cs
- MultipartContentParser.cs
- Grid.cs
- DeleteMemberBinder.cs
- DoubleAnimationBase.cs
- ExceptionValidationRule.cs
- XmlBindingWorker.cs
- MinMaxParagraphWidth.cs
- figurelengthconverter.cs
- EDesignUtil.cs
- ExtensionDataObject.cs
- Grid.cs
- TrackPointCollection.cs
- NullableIntAverageAggregationOperator.cs
- NumericUpDownAccelerationCollection.cs
- ExecutedRoutedEventArgs.cs
- CallbackHandler.cs
- InkPresenterAutomationPeer.cs
- Stylus.cs
- GraphicsState.cs
- QilNode.cs
- JoinSymbol.cs
- StringValueSerializer.cs
- QilReference.cs
- HostingEnvironmentException.cs
- TabletDevice.cs
- NameValueCollection.cs
- NumberFormatInfo.cs
- Geometry3D.cs
- TransactionScope.cs
- ToolStripSplitStackLayout.cs
- PackageRelationshipCollection.cs
- Tokenizer.cs
- ControlDesignerState.cs
- PackWebRequestFactory.cs
- QuaternionAnimation.cs
- DataGridPagerStyle.cs
- BooleanSwitch.cs
- PropertyKey.cs
- OleCmdHelper.cs
- ParallelActivityDesigner.cs
- ContentType.cs
- ItemList.cs
- HttpAsyncResult.cs
- dataSvcMapFileLoader.cs
- DataGridRelationshipRow.cs
- XmlNotation.cs
- Viewport3DVisual.cs
- HyperLinkField.cs
- Control.cs
- WhitespaceRuleReader.cs
- ReferenceEqualityComparer.cs
- EncoderParameters.cs