Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / UI / ControlValuePropertyAttribute.cs / 1305376 / ControlValuePropertyAttribute.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI {
using System;
using System.ComponentModel;
using System.Diagnostics;
using System.Security.Permissions;
using System.Web.Util;
///
/// Specifies the default value property for a control.
///
[AttributeUsage(AttributeTargets.Class)]
public sealed class ControlValuePropertyAttribute : Attribute {
private readonly string _name;
private readonly object _defaultValue;
///
/// Initializes a new instance of the class.
///
public ControlValuePropertyAttribute(string name) {
_name = name;
}
///
/// Initializes a new instance of the class, using the specified value as the default value.
///
public ControlValuePropertyAttribute(string name, object defaultValue) {
_name = name;
_defaultValue = defaultValue;
}
///
/// Initializes a new instance of the class, converting the specified value to the
/// specified type.
///
public ControlValuePropertyAttribute(string name, Type type, string defaultValue) {
_name = name;
// The try/catch here is because attributes should never throw exceptions. We would fail to
// load an otherwise normal class.
try {
_defaultValue = TypeDescriptor.GetConverter(type).ConvertFromInvariantString(defaultValue);
}
catch {
System.Diagnostics.Debug.Fail("ControlValuePropertyAttribute: Default value of type " + type.FullName + " threw converting from the string '" + defaultValue + "'.");
}
}
///
/// Gets the name of the default value property for the control this attribute is bound to.
///
public string Name {
get {
return _name;
}
}
///
/// Gets the value of the default value property for the control this attribute is bound to.
///
public object DefaultValue {
get {
return _defaultValue;
}
}
public override bool Equals(object obj) {
ControlValuePropertyAttribute other = obj as ControlValuePropertyAttribute;
if (other != null) {
if (String.Equals(_name, other.Name, StringComparison.Ordinal)) {
if (_defaultValue != null) {
return _defaultValue.Equals(other.DefaultValue);
}
else {
return (other.DefaultValue == null);
}
}
}
return false;
}
public override int GetHashCode() {
return System.Web.Util.HashCodeCombiner.CombineHashCodes(
((Name != null) ? Name.GetHashCode() : 0),
((DefaultValue != null) ? DefaultValue.GetHashCode() : 0));
}
}
}
// 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
- Exception.cs
- HttpListenerContext.cs
- WebPartVerbCollection.cs
- NetSectionGroup.cs
- ToolBarPanel.cs
- MenuBase.cs
- Margins.cs
- CommonDialog.cs
- ItemAutomationPeer.cs
- StyleSheetComponentEditor.cs
- DataGridBoolColumn.cs
- TripleDES.cs
- RemoteDebugger.cs
- VisualStateManager.cs
- MulticastOption.cs
- Main.cs
- TraceSource.cs
- NoClickablePointException.cs
- MaxMessageSizeStream.cs
- MouseButton.cs
- ComponentDispatcher.cs
- CFGGrammar.cs
- ProviderConnectionPoint.cs
- AsyncOperationManager.cs
- XmlSchemaSimpleTypeRestriction.cs
- StateItem.cs
- TemplatedMailWebEventProvider.cs
- TypeKeyValue.cs
- Command.cs
- SecurityTokenException.cs
- XmlDictionaryReader.cs
- OdbcConnectionOpen.cs
- SecurityContextTokenValidationException.cs
- SqlInternalConnection.cs
- StartUpEventArgs.cs
- CodePageEncoding.cs
- MatrixAnimationBase.cs
- TypeUsage.cs
- Evidence.cs
- DispatchWrapper.cs
- FaultDescriptionCollection.cs
- DBCSCodePageEncoding.cs
- X509Certificate2Collection.cs
- QueryStringParameter.cs
- CodePrimitiveExpression.cs
- GenericAuthenticationEventArgs.cs
- WrappingXamlSchemaContext.cs
- PermissionAttributes.cs
- ConfigurationPropertyAttribute.cs
- basenumberconverter.cs
- ExtentKey.cs
- ParameterBuilder.cs
- Mappings.cs
- MarshalDirectiveException.cs
- FormCollection.cs
- EditingScope.cs
- DataGridViewCellValueEventArgs.cs
- ExtensionSimplifierMarkupObject.cs
- CodeSubDirectoriesCollection.cs
- RemoteWebConfigurationHostServer.cs
- SymbolMethod.cs
- URL.cs
- XamlSerializer.cs
- SystemWebSectionGroup.cs
- DmlSqlGenerator.cs
- ConnectionModeReader.cs
- ConnectorMovedEventArgs.cs
- DynamicValidatorEventArgs.cs
- WebServiceEnumData.cs
- Permission.cs
- UdpChannelFactory.cs
- ImageCodecInfo.cs
- NotificationContext.cs
- AppSettingsSection.cs
- HttpCacheVary.cs
- StringValueSerializer.cs
- regiisutil.cs
- ReadOnlyDictionary.cs
- ControlParameter.cs
- Int16AnimationUsingKeyFrames.cs
- PartialArray.cs
- IOThreadScheduler.cs
- MetadataCache.cs
- CharacterMetrics.cs
- CodeDirectiveCollection.cs
- GetPageCompletedEventArgs.cs
- HttpContextWrapper.cs
- NegationPusher.cs
- SchemaEntity.cs
- ParameterCollection.cs
- TemplatePropertyEntry.cs
- DeferredSelectedIndexReference.cs
- ImageAttributes.cs
- QualificationDataAttribute.cs
- FacetValueContainer.cs
- DynamicRenderer.cs
- StaticSiteMapProvider.cs
- ApplicationDirectory.cs
- _TransmitFileOverlappedAsyncResult.cs
- MethodImplAttribute.cs