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
- VisualTreeUtils.cs
- SymLanguageVendor.cs
- StackOverflowException.cs
- WebUtil.cs
- CompatibleIComparer.cs
- GeometryValueSerializer.cs
- EditorPartChrome.cs
- CompilationRelaxations.cs
- DashStyle.cs
- DictionaryTraceRecord.cs
- SizeConverter.cs
- Triangle.cs
- ComPersistableTypeElementCollection.cs
- CircleHotSpot.cs
- SafeWaitHandle.cs
- OdbcErrorCollection.cs
- XmlComment.cs
- DrawingServices.cs
- SourceFilter.cs
- TypeElement.cs
- XmlSchemaSequence.cs
- TableStyle.cs
- RijndaelManaged.cs
- XmlSignificantWhitespace.cs
- ObjectStateEntryOriginalDbUpdatableDataRecord.cs
- WithParamAction.cs
- Popup.cs
- HyperlinkAutomationPeer.cs
- Size3D.cs
- PrintDocument.cs
- TypeBuilder.cs
- ItemsPresenter.cs
- SystemDropShadowChrome.cs
- NullRuntimeConfig.cs
- SecurityPermission.cs
- SecurityException.cs
- StackSpiller.Temps.cs
- BamlResourceDeserializer.cs
- LayoutEditorPart.cs
- KnownBoxes.cs
- ViewGenResults.cs
- DataGridViewSortCompareEventArgs.cs
- TheQuery.cs
- HttpResponseHeader.cs
- Queue.cs
- PreviewControlDesigner.cs
- SchemaElementLookUpTable.cs
- Transform3D.cs
- CheckedListBox.cs
- SqlUserDefinedTypeAttribute.cs
- Schema.cs
- HelloMessageCD1.cs
- HideDisabledControlAdapter.cs
- UndoManager.cs
- MemberDescriptor.cs
- OLEDB_Enum.cs
- CookielessHelper.cs
- XmlDocument.cs
- RowParagraph.cs
- CodeStatement.cs
- DiagnosticTrace.cs
- IndexerNameAttribute.cs
- ListViewGroup.cs
- HyperLink.cs
- SingleResultAttribute.cs
- MappingMetadataHelper.cs
- HttpModule.cs
- PrinterSettings.cs
- CodeDirectoryCompiler.cs
- StaticSiteMapProvider.cs
- DataGridCellClipboardEventArgs.cs
- AssemblyResourceLoader.cs
- BodyGlyph.cs
- ToolStripDropDownDesigner.cs
- __Filters.cs
- EntitySqlQueryBuilder.cs
- FramingDecoders.cs
- CodeDirectoryCompiler.cs
- ButtonChrome.cs
- XmlEventCache.cs
- OrderPreservingMergeHelper.cs
- ConnectionsZone.cs
- DesignerAttribute.cs
- DBAsyncResult.cs
- Preprocessor.cs
- BitmapMetadata.cs
- MatrixAnimationUsingPath.cs
- EditingCommands.cs
- InfoCardKeyedHashAlgorithm.cs
- MarshalByValueComponent.cs
- metadatamappinghashervisitor.cs
- SqlBinder.cs
- DatatypeImplementation.cs
- EventLogPermissionAttribute.cs
- WebReferenceCollection.cs
- OdbcTransaction.cs
- CreateUserWizardDesigner.cs
- DataFormats.cs
- ToolStripPanel.cs
- PolicyLevel.cs