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
- View.cs
- SharedPersonalizationStateInfo.cs
- OneOfTypeConst.cs
- DataControlFieldHeaderCell.cs
- Column.cs
- SynchronizedDispatch.cs
- PropertyChangeTracker.cs
- RegistrationServices.cs
- PackageRelationship.cs
- MenuItemAutomationPeer.cs
- Button.cs
- MediaScriptCommandRoutedEventArgs.cs
- WizardStepBase.cs
- Deflater.cs
- AnnotationAuthorChangedEventArgs.cs
- DesignerSerializationOptionsAttribute.cs
- XmlElementCollection.cs
- DataGridHeaderBorder.cs
- WebPartConnectionsCancelEventArgs.cs
- BaseResourcesBuildProvider.cs
- TripleDESCryptoServiceProvider.cs
- StringCollection.cs
- HtmlEmptyTagControlBuilder.cs
- ModelItemImpl.cs
- SqlMetaData.cs
- Util.cs
- mactripleDES.cs
- WebControlToolBoxItem.cs
- ScaleTransform3D.cs
- Models.cs
- grammarelement.cs
- DoubleCollection.cs
- DbDeleteCommandTree.cs
- RecipientIdentity.cs
- TableCell.cs
- MetadataArtifactLoaderXmlReaderWrapper.cs
- DateTimeSerializationSection.cs
- HierarchicalDataSourceControl.cs
- CutCopyPasteHelper.cs
- SymbolUsageManager.cs
- SqlBulkCopyColumnMapping.cs
- PersonalizationStateInfoCollection.cs
- Oid.cs
- MemoryRecordBuffer.cs
- BrowserCapabilitiesFactory35.cs
- HttpCachePolicyBase.cs
- DoubleConverter.cs
- validation.cs
- MarshalByValueComponent.cs
- PenThreadPool.cs
- NativeConfigurationLoader.cs
- DefaultPropertyAttribute.cs
- XamlContextStack.cs
- OdbcCommandBuilder.cs
- SqlDataRecord.cs
- XPathPatternParser.cs
- EdmRelationshipNavigationPropertyAttribute.cs
- ButtonDesigner.cs
- SystemWebSectionGroup.cs
- HttpProtocolImporter.cs
- BoolExpr.cs
- ZoomPercentageConverter.cs
- ObjectPersistData.cs
- HelpEvent.cs
- XmlLanguage.cs
- RepeatButton.cs
- TypeResolvingOptionsAttribute.cs
- BatchParser.cs
- ComponentEditorPage.cs
- TextModifierScope.cs
- InvalidOperationException.cs
- InternalSendMessage.cs
- Avt.cs
- AnimationTimeline.cs
- ElementNotAvailableException.cs
- NodeFunctions.cs
- SqlDataRecord.cs
- PropVariant.cs
- NameValueCollection.cs
- AspProxy.cs
- NativeWrapper.cs
- WCFModelStrings.Designer.cs
- ShutDownListener.cs
- ScopedKnownTypes.cs
- ProxyWebPartConnectionCollection.cs
- JoinGraph.cs
- RegexCode.cs
- XmlSchemaAnyAttribute.cs
- ManualWorkflowSchedulerService.cs
- BuildDependencySet.cs
- StringBlob.cs
- RegexFCD.cs
- SelectionListDesigner.cs
- ExpressionWriter.cs
- ExpressionParser.cs
- PackageProperties.cs
- COM2ComponentEditor.cs
- AuthStoreRoleProvider.cs
- Point4D.cs
- DBSchemaRow.cs