Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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;
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// 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;
}
}
}
// 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
- ProvidersHelper.cs
- ReadOnlyActivityGlyph.cs
- IgnorePropertiesAttribute.cs
- ConstrainedDataObject.cs
- HandledEventArgs.cs
- PropertyTabAttribute.cs
- SmtpNegotiateAuthenticationModule.cs
- FieldMetadata.cs
- TypeListConverter.cs
- Utils.cs
- DiscoveryInnerClientManaged11.cs
- DefaultPropertyAttribute.cs
- ContractBase.cs
- QuotedPrintableStream.cs
- ConfigXmlElement.cs
- ControlParameter.cs
- SqlRewriteScalarSubqueries.cs
- ParameterBuilder.cs
- XmlSchemaImport.cs
- ClickablePoint.cs
- TransactionsSectionGroup.cs
- FontNamesConverter.cs
- Memoizer.cs
- dtdvalidator.cs
- StringValueConverter.cs
- JsonSerializer.cs
- MessageBox.cs
- Peer.cs
- ReturnType.cs
- ResourcePool.cs
- ViewEvent.cs
- TcpProcessProtocolHandler.cs
- NotConverter.cs
- HtmlElementErrorEventArgs.cs
- PerfCounterSection.cs
- MetadataUtilsSmi.cs
- DictionaryMarkupSerializer.cs
- AuthStoreRoleProvider.cs
- AnimationTimeline.cs
- HttpRuntime.cs
- ComponentEditorPage.cs
- XmlWrappingWriter.cs
- LineInfo.cs
- InstanceNameConverter.cs
- FieldBuilder.cs
- categoryentry.cs
- WebPartConnectVerb.cs
- CachedFontFace.cs
- ColorTranslator.cs
- OnOperation.cs
- DesignerDataSchemaClass.cs
- WebControlAdapter.cs
- HostingEnvironment.cs
- GeometryModel3D.cs
- MetadataPropertyCollection.cs
- RowUpdatingEventArgs.cs
- SqlDataAdapter.cs
- XamlParser.cs
- MenuItem.cs
- DictionarySectionHandler.cs
- SessionEndedEventArgs.cs
- TypedTableGenerator.cs
- ContentDesigner.cs
- PermissionSetTriple.cs
- PasswordRecovery.cs
- FontStyle.cs
- TabItemWrapperAutomationPeer.cs
- DBCSCodePageEncoding.cs
- ViewStateChangedEventArgs.cs
- GridViewSortEventArgs.cs
- BinaryFormatter.cs
- FlowDocumentPage.cs
- Listener.cs
- PipelineModuleStepContainer.cs
- ButtonFieldBase.cs
- Visual.cs
- Slider.cs
- LinearGradientBrush.cs
- PersonalizationStateInfoCollection.cs
- ChannelCacheSettings.cs
- HwndKeyboardInputProvider.cs
- WebBrowserNavigatingEventHandler.cs
- SecurityPermission.cs
- XamlHttpHandlerFactory.cs
- TextPattern.cs
- DataGridViewCellEventArgs.cs
- DropTarget.cs
- StringOutput.cs
- NativeObjectSecurity.cs
- TraceShell.cs
- DataGridViewComboBoxEditingControl.cs
- XamlBrushSerializer.cs
- BindValidationContext.cs
- CompensateDesigner.cs
- BitFlagsGenerator.cs
- XmlSignatureProperties.cs
- CodeArrayIndexerExpression.cs
- ToolboxItem.cs
- PropertyGeneratedEventArgs.cs
- InfoCardRSAPKCS1KeyExchangeFormatter.cs