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
- SemaphoreSlim.cs
- BaseDataBoundControl.cs
- invalidudtexception.cs
- ScopeElement.cs
- TimeManager.cs
- PeerContact.cs
- FaultPropagationRecord.cs
- CheckoutException.cs
- SpinLock.cs
- DateTimeConverter.cs
- CacheEntry.cs
- SessionStateItemCollection.cs
- DBSchemaTable.cs
- WmlPageAdapter.cs
- TcpTransportElement.cs
- Serializer.cs
- Matrix3DConverter.cs
- Clock.cs
- FtpWebResponse.cs
- DockPatternIdentifiers.cs
- TransformDescriptor.cs
- NativeWindow.cs
- XhtmlTextWriter.cs
- TranslateTransform.cs
- FileNameEditor.cs
- ReferenceCountedObject.cs
- XmlWrappingReader.cs
- ExpressionEditorAttribute.cs
- PointLight.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- ButtonBaseAdapter.cs
- TreeWalker.cs
- NamespaceEmitter.cs
- Block.cs
- ACE.cs
- PrintControllerWithStatusDialog.cs
- TextRenderer.cs
- FileSecurity.cs
- XmlLinkedNode.cs
- HMACMD5.cs
- PageRanges.cs
- Animatable.cs
- SoapTypeAttribute.cs
- UInt64Converter.cs
- SQLSingle.cs
- ProfileInfo.cs
- ISFClipboardData.cs
- HttpModulesSection.cs
- ToolStripEditorManager.cs
- SqlUserDefinedAggregateAttribute.cs
- Compiler.cs
- EventTrigger.cs
- Compiler.cs
- DataGridViewSelectedCellCollection.cs
- SqlXml.cs
- Inflater.cs
- DesignerTextBoxAdapter.cs
- PropertyGridDesigner.cs
- WebExceptionStatus.cs
- Compiler.cs
- SqlIdentifier.cs
- ImageAttributes.cs
- ImageSource.cs
- DocumentDesigner.cs
- XPathSelfQuery.cs
- BitmapImage.cs
- DbConvert.cs
- WebPartConnection.cs
- LineServices.cs
- InvokeMethodActivity.cs
- RuntimeHelpers.cs
- DbExpressionBuilder.cs
- ItemCheckedEvent.cs
- FileVersionInfo.cs
- AutoSizeToolBoxItem.cs
- RuleSettings.cs
- ReadOnlyCollectionBase.cs
- WindowsListView.cs
- DbConnectionHelper.cs
- counter.cs
- InlineCollection.cs
- DbProviderFactoriesConfigurationHandler.cs
- Number.cs
- RemotingAttributes.cs
- CrossAppDomainChannel.cs
- EventHandlers.cs
- ComponentResourceManager.cs
- NativeActivityContext.cs
- SortAction.cs
- Content.cs
- WindowsEditBox.cs
- TextEditorCopyPaste.cs
- ControlPaint.cs
- TextParaLineResult.cs
- OleDbConnectionInternal.cs
- MemberDomainMap.cs
- PageParserFilter.cs
- X509PeerCertificateElement.cs
- Internal.cs
- WebPermission.cs