Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / UI / ThemeableAttribute.cs / 1305376 / ThemeableAttribute.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
/*
*/
namespace System.Web.UI {
using System;
using System.Collections;
using System.ComponentModel;
///
///
///
[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;
///
///
///
[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
- Publisher.cs
- TypeNameConverter.cs
- AsymmetricKeyExchangeFormatter.cs
- Operators.cs
- PointHitTestParameters.cs
- DragStartedEventArgs.cs
- ActiveXHelper.cs
- ConfigurationStrings.cs
- ScriptControl.cs
- Pens.cs
- CommandExpr.cs
- XmlSerializationReader.cs
- EdmItemCollection.cs
- GridViewColumn.cs
- DataBindingCollection.cs
- PerformanceCounterPermission.cs
- WindowsAuthenticationModule.cs
- DbDataAdapter.cs
- KeyboardDevice.cs
- PickBranchDesigner.xaml.cs
- SerializerWriterEventHandlers.cs
- NumberFormatInfo.cs
- RealizationDrawingContextWalker.cs
- DBSqlParserTable.cs
- ComponentResourceManager.cs
- ByteConverter.cs
- WizardPanelChangingEventArgs.cs
- PkcsUtils.cs
- RowVisual.cs
- Rect.cs
- ImageListUtils.cs
- XmlILIndex.cs
- MenuItem.cs
- JsonXmlDataContract.cs
- ToolStripSplitButton.cs
- hresults.cs
- TypeDescriptorContext.cs
- AlgoModule.cs
- GridViewColumnHeaderAutomationPeer.cs
- ArrayList.cs
- ShutDownListener.cs
- EdmType.cs
- HelpKeywordAttribute.cs
- WebPartDisplayMode.cs
- CodeStatementCollection.cs
- WindowsPen.cs
- ExistsInCollection.cs
- HttpSessionStateWrapper.cs
- PartitionerQueryOperator.cs
- AllMembershipCondition.cs
- OutputCacheModule.cs
- ToolStripDropDown.cs
- ImageIndexEditor.cs
- CachedBitmap.cs
- HandledEventArgs.cs
- BufferAllocator.cs
- AlphabetConverter.cs
- BooleanAnimationBase.cs
- InputChannelAcceptor.cs
- EndPoint.cs
- SystemWebExtensionsSectionGroup.cs
- InteropTrackingRecord.cs
- AutomationPropertyInfo.cs
- TextDecorationCollection.cs
- Point3DCollectionConverter.cs
- TextRangeEditTables.cs
- _SslStream.cs
- ManualWorkflowSchedulerService.cs
- WindowsRegion.cs
- EdmSchemaAttribute.cs
- XmlSchemaException.cs
- RegexFCD.cs
- UserControlDocumentDesigner.cs
- ECDiffieHellmanPublicKey.cs
- AggregateException.cs
- ToolZone.cs
- MultiByteCodec.cs
- Viewport3DVisual.cs
- TargetFrameworkUtil.cs
- QuotedStringFormatReader.cs
- HijriCalendar.cs
- XMLSchema.cs
- BrowserCapabilitiesFactory.cs
- ServerProtocol.cs
- BitmapEffectInputData.cs
- DetailsViewAutoFormat.cs
- DataFormat.cs
- TrackingMemoryStreamFactory.cs
- DataGridViewCheckBoxColumn.cs
- DataColumnChangeEvent.cs
- SelectionWordBreaker.cs
- VScrollProperties.cs
- BatchStream.cs
- WebConfigurationHostFileChange.cs
- SecurityTokenProvider.cs
- ReaderWriterLockWrapper.cs
- EntitySqlQueryCacheKey.cs
- List.cs
- PagesSection.cs
- SEHException.cs