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
- AddressingProperty.cs
- TemplateNameScope.cs
- CngAlgorithm.cs
- RandomNumberGenerator.cs
- WindowsSecurityTokenAuthenticator.cs
- DynamicRenderer.cs
- SqlGenericUtil.cs
- EventArgs.cs
- PageStatePersister.cs
- SortableBindingList.cs
- DocumentAutomationPeer.cs
- NameNode.cs
- WebEventTraceProvider.cs
- ApplicationCommands.cs
- AppDomainAttributes.cs
- RepeaterItem.cs
- ProgressBarAutomationPeer.cs
- QueryServiceConfigHandle.cs
- TrustManager.cs
- XPathParser.cs
- BamlRecordHelper.cs
- TdsParserStaticMethods.cs
- ExpressionReplacer.cs
- autovalidator.cs
- HttpProfileGroupBase.cs
- CodePropertyReferenceExpression.cs
- DesignTimeTemplateParser.cs
- PermissionSetTriple.cs
- ResolveRequestResponseAsyncResult.cs
- RewritingSimplifier.cs
- StatusBarPanel.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- DetailsViewAutoFormat.cs
- BlobPersonalizationState.cs
- PopOutPanel.cs
- WSTrustDec2005.cs
- ConfigurationLocationCollection.cs
- DataGridViewAddColumnDialog.cs
- Activation.cs
- TransactedReceiveScope.cs
- AdvancedBindingEditor.cs
- DeviceFilterDictionary.cs
- SqlClientFactory.cs
- LocationSectionRecord.cs
- OleDbCommand.cs
- KeyInterop.cs
- GridPatternIdentifiers.cs
- Rule.cs
- CalculatedColumn.cs
- UserControlParser.cs
- AnnotationService.cs
- HtmlEmptyTagControlBuilder.cs
- ScrollableControl.cs
- WorkflowOwnerAsyncResult.cs
- UndirectedGraph.cs
- CodeSubDirectory.cs
- Helpers.cs
- DoubleCollectionConverter.cs
- BooleanAnimationBase.cs
- DataServiceException.cs
- SQLGuidStorage.cs
- arabicshape.cs
- ModifiableIteratorCollection.cs
- StylusPointProperty.cs
- CounterSampleCalculator.cs
- SafeThemeHandle.cs
- ApplicationDirectory.cs
- ForceCopyBuildProvider.cs
- ReachDocumentPageSerializerAsync.cs
- HttpHandlersSection.cs
- ReadOnlyDataSource.cs
- SecureStringHasher.cs
- ResourcePool.cs
- EntityDesignerUtils.cs
- XmlReflectionImporter.cs
- ParserOptions.cs
- DataGridCommandEventArgs.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- CodeNamespaceImport.cs
- RawStylusActions.cs
- AttachedAnnotation.cs
- MemberInfoSerializationHolder.cs
- RSACryptoServiceProvider.cs
- RTLAwareMessageBox.cs
- Wizard.cs
- PostBackTrigger.cs
- FindSimilarActivitiesVerb.cs
- QilPatternVisitor.cs
- DesignerProperties.cs
- GlyphElement.cs
- AxHostDesigner.cs
- ConfigurationSchemaErrors.cs
- AsymmetricSignatureDeformatter.cs
- ScrollProperties.cs
- SystemDiagnosticsSection.cs
- TranslateTransform.cs
- PasswordTextNavigator.cs
- EntityCollectionChangedParams.cs
- ResourceAttributes.cs