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
- MemberListBinding.cs
- SymbolDocumentInfo.cs
- SqlUdtInfo.cs
- MonthCalendar.cs
- DataDesignUtil.cs
- UnsafeNativeMethodsTablet.cs
- FaultContractAttribute.cs
- MsmqIntegrationValidationBehavior.cs
- DecoderReplacementFallback.cs
- RuntimeCompatibilityAttribute.cs
- XPathDescendantIterator.cs
- UTF8Encoding.cs
- Label.cs
- EventWaitHandle.cs
- _IPv4Address.cs
- StateDesigner.CommentLayoutGlyph.cs
- SettingsContext.cs
- FrameworkContentElementAutomationPeer.cs
- EntityDataSourceMemberPath.cs
- PlatformCulture.cs
- WebPartConnectionsConnectVerb.cs
- ElementNotAvailableException.cs
- DictionarySectionHandler.cs
- CharUnicodeInfo.cs
- DateTimeConstantAttribute.cs
- PenLineCapValidation.cs
- XmlSerializerOperationGenerator.cs
- ISAPIWorkerRequest.cs
- CommonRemoteMemoryBlock.cs
- DSASignatureDeformatter.cs
- PropVariant.cs
- ConsoleKeyInfo.cs
- XmlSortKey.cs
- ListViewInsertionMark.cs
- SelectedDatesCollection.cs
- Visitors.cs
- ProgressBarRenderer.cs
- OrderByBuilder.cs
- CompressStream.cs
- DataTableCollection.cs
- RichTextBox.cs
- HttpApplicationStateBase.cs
- _HeaderInfoTable.cs
- SequentialUshortCollection.cs
- TextDecoration.cs
- SparseMemoryStream.cs
- GridViewCancelEditEventArgs.cs
- PageSetupDialog.cs
- MustUnderstandBehavior.cs
- CorrelationService.cs
- CompositeKey.cs
- DbModificationClause.cs
- DataGridCellAutomationPeer.cs
- ConfigurationStrings.cs
- documentsequencetextcontainer.cs
- TraceSection.cs
- QuotedStringFormatReader.cs
- ADMembershipUser.cs
- FontInfo.cs
- DefaultValueConverter.cs
- BrowserTree.cs
- WorkflowPersistenceContext.cs
- ReadWriteSpinLock.cs
- EntityContainerRelationshipSetEnd.cs
- DynamicActivityProperty.cs
- NullableLongAverageAggregationOperator.cs
- BridgeDataReader.cs
- ModelUIElement3D.cs
- BitmapPalette.cs
- InternalDispatchObject.cs
- MediaScriptCommandRoutedEventArgs.cs
- MeshGeometry3D.cs
- MsmqIntegrationMessageProperty.cs
- MSAANativeProvider.cs
- Pkcs7Signer.cs
- XmlLinkedNode.cs
- XsltLibrary.cs
- SqlXml.cs
- XhtmlBasicValidationSummaryAdapter.cs
- SamlSubject.cs
- UpdateExpressionVisitor.cs
- BinaryMessageFormatter.cs
- WebResponse.cs
- TableDetailsCollection.cs
- ToolStripOverflow.cs
- TdsRecordBufferSetter.cs
- EntryPointNotFoundException.cs
- ResourceKey.cs
- CommandPlan.cs
- ExportOptions.cs
- ToolboxItem.cs
- XmlDocument.cs
- DesignerAttribute.cs
- SerialStream.cs
- CacheMemory.cs
- JsonEnumDataContract.cs
- PrintPreviewDialog.cs
- LineProperties.cs
- BlurEffect.cs
- KeyValuePair.cs