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
- ResourceReferenceExpressionConverter.cs
- CharEntityEncoderFallback.cs
- Configuration.cs
- AsyncResult.cs
- CodeSubDirectoriesCollection.cs
- SoapCommonClasses.cs
- ExtensibleClassFactory.cs
- SessionPageStateSection.cs
- XmlDataLoader.cs
- PartialClassGenerationTaskInternal.cs
- SHA384Managed.cs
- DocumentPageHost.cs
- SqlRowUpdatedEvent.cs
- OpenFileDialog.cs
- ListViewDeleteEventArgs.cs
- CodeCommentStatementCollection.cs
- XmlSchemaIdentityConstraint.cs
- SettingsPropertyCollection.cs
- MemoryFailPoint.cs
- CommandHelper.cs
- Hashtable.cs
- FormatStringEditor.cs
- DynamicEntity.cs
- ReservationNotFoundException.cs
- BlockCollection.cs
- SmiGettersStream.cs
- Util.cs
- ObjectViewQueryResultData.cs
- SelectionListComponentEditor.cs
- XmlSchemaAttribute.cs
- BuildProvider.cs
- GenericTextProperties.cs
- ObjectPersistData.cs
- DataGridTableStyleMappingNameEditor.cs
- ColumnTypeConverter.cs
- XPathSelfQuery.cs
- MLangCodePageEncoding.cs
- KeyedCollection.cs
- ToolStripPanel.cs
- MetadataItemCollectionFactory.cs
- DataBoundControlHelper.cs
- TextParaLineResult.cs
- NegotiateStream.cs
- BitmapDownload.cs
- TextEffectCollection.cs
- EndOfStreamException.cs
- MeshGeometry3D.cs
- BindingCollection.cs
- ValidationService.cs
- MultiSelectRootGridEntry.cs
- HttpModuleAction.cs
- OverflowException.cs
- SchemaConstraints.cs
- SQLCharsStorage.cs
- DeferredTextReference.cs
- ConfigurationCollectionAttribute.cs
- HtmlLink.cs
- DeclarativeCatalogPart.cs
- XmlDocumentFragment.cs
- TraceRecords.cs
- AspNetHostingPermission.cs
- DataComponentMethodGenerator.cs
- TracePayload.cs
- XmlQueryTypeFactory.cs
- PathFigureCollection.cs
- DllNotFoundException.cs
- SimpleMailWebEventProvider.cs
- DotAtomReader.cs
- TokenizerHelper.cs
- CodeTypeMemberCollection.cs
- JapaneseCalendar.cs
- TypeNameParser.cs
- ExpandedProjectionNode.cs
- SoundPlayer.cs
- RegexCharClass.cs
- TokenBasedSetEnumerator.cs
- RefreshEventArgs.cs
- MinMaxParagraphWidth.cs
- ControlIdConverter.cs
- ListViewSelectEventArgs.cs
- Matrix.cs
- IImplicitResourceProvider.cs
- MultitargetingHelpers.cs
- NonClientArea.cs
- BinaryReader.cs
- EpmSyndicationContentSerializer.cs
- ServiceModelEnumValidatorAttribute.cs
- HandlerFactoryCache.cs
- SynchronizationValidator.cs
- WmfPlaceableFileHeader.cs
- AppSettingsExpressionBuilder.cs
- EntityDataSourceEntityTypeFilterConverter.cs
- MimeMapping.cs
- InkCanvas.cs
- AccessViolationException.cs
- EventProvider.cs
- CharStorage.cs
- ConfigurationValue.cs
- Soap12ProtocolReflector.cs
- StreamingContext.cs