Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / CompMod / System / ComponentModel / DefaultValueAttribute.cs / 1 / DefaultValueAttribute.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.ComponentModel {
using System;
using System.ComponentModel;
using System.Diagnostics;
using System.Globalization;
using System.Runtime.InteropServices;
using System.Runtime.Serialization.Formatters;
using System.Security.Permissions;
///
/// Specifies the default value for a property.
///
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1019:DefineAccessorsForAttributeArguments")]
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1813:AvoidUnsealedAttributes")]
[AttributeUsage(AttributeTargets.All)]
public class DefaultValueAttribute : Attribute {
///
/// This is the default value.
///
private object value;
///
/// Initializes a new instance of the class, converting the
/// specified value to the
/// specified type, and using the U.S. English culture as the
/// translation
/// context.
///
public DefaultValueAttribute(Type type, string value) {
// The try/catch here is because attributes should never throw exceptions. We would fail to
// load an otherwise normal class.
try {
this.value = TypeDescriptor.GetConverter(type).ConvertFromInvariantString(value);
}
catch {
Debug.Fail("Default value attribute of type " + type.FullName + " threw converting from the string '" + value + "'.");
}
}
///
/// Initializes a new instance of the class using a Unicode
/// character.
///
public DefaultValueAttribute(char value) {
this.value = value;
}
///
/// Initializes a new instance of the class using an 8-bit unsigned
/// integer.
///
public DefaultValueAttribute(byte value) {
this.value = value;
}
///
/// Initializes a new instance of the class using a 16-bit signed
/// integer.
///
public DefaultValueAttribute(short value) {
this.value = value;
}
///
/// Initializes a new instance of the class using a 32-bit signed
/// integer.
///
public DefaultValueAttribute(int value) {
this.value = value;
}
///
/// Initializes a new instance of the class using a 64-bit signed
/// integer.
///
public DefaultValueAttribute(long value) {
this.value = value;
}
///
/// Initializes a new instance of the class using a
/// single-precision floating point
/// number.
///
public DefaultValueAttribute(float value) {
this.value = value;
}
///
/// Initializes a new instance of the class using a
/// double-precision floating point
/// number.
///
public DefaultValueAttribute(double value) {
this.value = value;
}
///
/// Initializes a new instance of the class using a
/// value.
///
public DefaultValueAttribute(bool value) {
this.value = value;
}
///
/// Initializes a new instance of the class using a .
///
public DefaultValueAttribute(string value) {
this.value = value;
}
///
/// Initializes a new instance of the
/// class.
///
public DefaultValueAttribute(object value) {
this.value = value;
}
///
///
/// Gets the default value of the property this
/// attribute is
/// bound to.
///
///
public virtual object Value {
get {
return value;
}
}
public override bool Equals(object obj) {
if (obj == this) {
return true;
}
DefaultValueAttribute other = obj as DefaultValueAttribute;
if (other != null) {
if (Value != null) {
return Value.Equals(other.Value);
}
else {
return (other.Value == null);
}
}
return false;
}
public override int GetHashCode() {
return base.GetHashCode();
}
protected void SetValue(object value) {
this.value = value;
}
}
}
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ByteBufferPool.cs
- DeadCharTextComposition.cs
- PasswordDeriveBytes.cs
- SafeHandles.cs
- AppDomainProtocolHandler.cs
- MaskedTextBox.cs
- SQLInt32Storage.cs
- MemberCollection.cs
- ResourceReferenceExpression.cs
- DefaultValueMapping.cs
- NavigatorInput.cs
- SqlDataSource.cs
- VBCodeProvider.cs
- AstTree.cs
- ButtonPopupAdapter.cs
- EqualityArray.cs
- LinqDataView.cs
- PropertyChangeTracker.cs
- ConnectionManagementElementCollection.cs
- UserControl.cs
- DataControlPagerLinkButton.cs
- PlaceHolder.cs
- SynchronousChannelMergeEnumerator.cs
- ImageCodecInfo.cs
- AdapterUtil.cs
- AlphabetConverter.cs
- listitem.cs
- XmlBindingWorker.cs
- CustomLineCap.cs
- OdbcRowUpdatingEvent.cs
- CodeAttributeArgumentCollection.cs
- BaseComponentEditor.cs
- Dictionary.cs
- VScrollProperties.cs
- OracleMonthSpan.cs
- CustomPeerResolverService.cs
- CommandValueSerializer.cs
- DateTimeValueSerializerContext.cs
- LinkLabelLinkClickedEvent.cs
- PreservationFileWriter.cs
- DataBoundControlHelper.cs
- DetailsViewPageEventArgs.cs
- SeverityFilter.cs
- NetDataContractSerializer.cs
- METAHEADER.cs
- SplitContainerDesigner.cs
- CompoundFileDeflateTransform.cs
- XmlDataImplementation.cs
- Exceptions.cs
- TypeResolvingOptions.cs
- StringFormat.cs
- CommandConverter.cs
- UIElement.cs
- TypeContext.cs
- ValueTypeFixupInfo.cs
- _DigestClient.cs
- NativeActivityTransactionContext.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- WebBaseEventKeyComparer.cs
- ReferenceConverter.cs
- ApplicationSecurityManager.cs
- InputBinder.cs
- PrimitiveSchema.cs
- Condition.cs
- ListControl.cs
- HtmlInputSubmit.cs
- PenCursorManager.cs
- MarkupCompilePass2.cs
- TextBreakpoint.cs
- SafeSecurityHandles.cs
- Quaternion.cs
- RecognizedPhrase.cs
- TreeViewHitTestInfo.cs
- EpmSyndicationContentSerializer.cs
- UniformGrid.cs
- DataGridGeneralPage.cs
- RMPermissions.cs
- ViewUtilities.cs
- Utility.cs
- EncodingTable.cs
- EventMap.cs
- LoginName.cs
- XamlFxTrace.cs
- AsyncOperationLifetimeManager.cs
- propertytag.cs
- LambdaReference.cs
- ModelChangedEventArgsImpl.cs
- PropertyConverter.cs
- Scheduler.cs
- CultureMapper.cs
- ObjectTag.cs
- SafeCloseHandleCritical.cs
- PackWebRequest.cs
- MessagePartDescription.cs
- HtmlUtf8RawTextWriter.cs
- HwndSourceParameters.cs
- LinkButton.cs
- MessageDirection.cs
- _Rfc2616CacheValidators.cs
- GacUtil.cs