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
- ProxyGenerator.cs
- CompilerErrorCollection.cs
- ConfigUtil.cs
- ListenerTraceUtility.cs
- CLSCompliantAttribute.cs
- UpdatePanelControlTrigger.cs
- SecurityRuntime.cs
- TokenBasedSetEnumerator.cs
- SoundPlayerAction.cs
- ListView.cs
- ResourceCategoryAttribute.cs
- webeventbuffer.cs
- AccessDataSourceView.cs
- NoneExcludedImageIndexConverter.cs
- CompressionTransform.cs
- ControlValuePropertyAttribute.cs
- TreeNodeCollectionEditor.cs
- Vector.cs
- DetailsViewDeleteEventArgs.cs
- DataSourceBooleanViewSchemaConverter.cs
- MenuRendererStandards.cs
- SimpleTextLine.cs
- BrowserTree.cs
- GridViewDeleteEventArgs.cs
- RtfToken.cs
- InputLanguageEventArgs.cs
- LineServices.cs
- GroupedContextMenuStrip.cs
- HashSet.cs
- Brush.cs
- TraceData.cs
- HttpCookie.cs
- _SSPIWrapper.cs
- GlobalItem.cs
- Duration.cs
- ApplicationCommands.cs
- NativeMethods.cs
- PartialCachingAttribute.cs
- ImageButton.cs
- DictionaryBase.cs
- XmlValidatingReaderImpl.cs
- CodeIndexerExpression.cs
- CodeObject.cs
- CallbackWrapper.cs
- FunctionImportElement.cs
- ControlSerializer.cs
- UdpRetransmissionSettings.cs
- WindowsStartMenu.cs
- NullableLongAverageAggregationOperator.cs
- ping.cs
- SafeUserTokenHandle.cs
- ConstraintCollection.cs
- ParameterRetriever.cs
- RotateTransform3D.cs
- RowToFieldTransformer.cs
- DesignTimeTemplateParser.cs
- Transform.cs
- BindableTemplateBuilder.cs
- CombinedGeometry.cs
- ReferenceConverter.cs
- HwndAppCommandInputProvider.cs
- CustomErrorsSectionWrapper.cs
- TableLayoutSettings.cs
- SqlFormatter.cs
- BitmapMetadataEnumerator.cs
- DeferredSelectedIndexReference.cs
- OperationGenerator.cs
- RenderDataDrawingContext.cs
- altserialization.cs
- EntityViewGenerationAttribute.cs
- JavaScriptSerializer.cs
- FormClosedEvent.cs
- RemoteWebConfigurationHostServer.cs
- PeerTransportCredentialType.cs
- KeyInterop.cs
- TableDetailsRow.cs
- FunctionDetailsReader.cs
- SoapServerMessage.cs
- ChangeBlockUndoRecord.cs
- NullableDoubleMinMaxAggregationOperator.cs
- AvtEvent.cs
- SmiMetaData.cs
- View.cs
- ButtonBaseAutomationPeer.cs
- Cell.cs
- RegexCompilationInfo.cs
- RegistrationServices.cs
- DesignerSerializationVisibilityAttribute.cs
- IteratorFilter.cs
- WmpBitmapEncoder.cs
- AdapterSwitches.cs
- WebBrowser.cs
- ModifierKeysConverter.cs
- DataListItemEventArgs.cs
- FlowPosition.cs
- _DigestClient.cs
- TableProviderWrapper.cs
- SelectionRange.cs
- SHA1.cs
- NumberFunctions.cs