Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / xsp / System / Web / UI / ControlValuePropertyAttribute.cs / 1 / 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)]
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
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.
//------------------------------------------------------------------------------
//
// 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)]
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
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
- SmiRecordBuffer.cs
- PartitionResolver.cs
- Authorization.cs
- XmlWriterSettings.cs
- IssuedTokenClientBehaviorsElementCollection.cs
- MenuEventArgs.cs
- FeatureSupport.cs
- BindingContext.cs
- CommonRemoteMemoryBlock.cs
- COM2ICategorizePropertiesHandler.cs
- ExceptionNotification.cs
- SqlDataReaderSmi.cs
- WebPartsSection.cs
- SafeBuffer.cs
- Stroke.cs
- initElementDictionary.cs
- DrawingContextDrawingContextWalker.cs
- SqlDataSourceView.cs
- CollectionDataContract.cs
- ConstNode.cs
- Double.cs
- EntityDesignerBuildProvider.cs
- GeneralTransform3DTo2D.cs
- BindingManagerDataErrorEventArgs.cs
- FactoryId.cs
- BuilderPropertyEntry.cs
- CommentEmitter.cs
- ListViewDataItem.cs
- Table.cs
- SqlDataSourceEnumerator.cs
- TemplateControlCodeDomTreeGenerator.cs
- ADMembershipProvider.cs
- ServiceCredentialsElement.cs
- RootBrowserWindow.cs
- PageSettings.cs
- BrowserDefinition.cs
- DoWorkEventArgs.cs
- BitmapMetadata.cs
- PathStreamGeometryContext.cs
- WebEventTraceProvider.cs
- MsmqBindingElementBase.cs
- GatewayIPAddressInformationCollection.cs
- FixUp.cs
- HtmlTable.cs
- UInt64Storage.cs
- WorkerRequest.cs
- UrlMapping.cs
- HorizontalAlignConverter.cs
- CodeTypeOfExpression.cs
- WinEventQueueItem.cs
- BaseServiceProvider.cs
- SerializationObjectManager.cs
- HttpRawResponse.cs
- FixedHighlight.cs
- TimeSpanStorage.cs
- TabControl.cs
- ClockGroup.cs
- CalculatedColumn.cs
- XmlText.cs
- SecurityPolicyVersion.cs
- ContractsBCL.cs
- VectorValueSerializer.cs
- XamlDesignerSerializationManager.cs
- InvalidComObjectException.cs
- NameTable.cs
- Delay.cs
- FontFamily.cs
- User.cs
- SQLRoleProvider.cs
- InOutArgumentConverter.cs
- ContractTypeNameCollection.cs
- ReceiveCompletedEventArgs.cs
- TypeConverterHelper.cs
- SafeIUnknown.cs
- InternalsVisibleToAttribute.cs
- MemberCollection.cs
- RectangleF.cs
- AssemblyUtil.cs
- SqlCacheDependencyDatabaseCollection.cs
- InfiniteTimeSpanConverter.cs
- GridViewCellAutomationPeer.cs
- SqlCacheDependencySection.cs
- TempFiles.cs
- ContextMenuAutomationPeer.cs
- SourceLineInfo.cs
- RowUpdatedEventArgs.cs
- FocusTracker.cs
- CustomSignedXml.cs
- LineBreakRecord.cs
- RequestTimeoutManager.cs
- EntityCommandCompilationException.cs
- FilteredDataSetHelper.cs
- IntSecurity.cs
- LinqTreeNodeEvaluator.cs
- ActivationServices.cs
- XmlSchemaAttribute.cs
- DataGridAutomationPeer.cs
- TextDecorationCollection.cs
- CodeIdentifiers.cs
- InstanceLockQueryResult.cs