Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / CompMod / System / ComponentModel / AmbientValueAttribute.cs / 1 / AmbientValueAttribute.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 ambient value for a property. The ambient value is the value you
/// can set into a property to make it inherit its ambient.
///
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1019:DefineAccessorsForAttributeArguments")]
[AttributeUsage(AttributeTargets.All)]
public sealed class AmbientValueAttribute : Attribute {
private readonly 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 AmbientValueAttribute(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("Ambient value attribute of type " + type.FullName + " threw converting from the string '" + value + "'.");
}
}
///
/// Initializes a new instance of the class using a Unicode
/// character.
///
public AmbientValueAttribute(char value) {
this.value = value;
}
///
/// Initializes a new instance of the class using an 8-bit unsigned
/// integer.
///
public AmbientValueAttribute(byte value) {
this.value = value;
}
///
/// Initializes a new instance of the class using a 16-bit signed
/// integer.
///
public AmbientValueAttribute(short value) {
this.value = value;
}
///
/// Initializes a new instance of the class using a 32-bit signed
/// integer.
///
public AmbientValueAttribute(int value) {
this.value = value;
}
///
/// Initializes a new instance of the class using a 64-bit signed
/// integer.
///
public AmbientValueAttribute(long value) {
this.value = value;
}
///
/// Initializes a new instance of the class using a
/// single-precision floating point
/// number.
///
public AmbientValueAttribute(float value) {
this.value = value;
}
///
/// Initializes a new instance of the class using a
/// double-precision floating point
/// number.
///
public AmbientValueAttribute(double value) {
this.value = value;
}
///
/// Initializes a new instance of the class using a
/// value.
///
public AmbientValueAttribute(bool value) {
this.value = value;
}
///
/// Initializes a new instance of the class using a .
///
public AmbientValueAttribute(string value) {
this.value = value;
}
///
/// Initializes a new instance of the
/// class.
///
public AmbientValueAttribute(object value) {
this.value = value;
}
///
///
/// Gets the ambient value of the property this
/// attribute is
/// bound to.
///
///
public object Value {
get {
return value;
}
}
public override bool Equals(object obj) {
if (obj == this) {
return true;
}
AmbientValueAttribute other = obj as AmbientValueAttribute;
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();
}
}
}
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CodeValidator.cs
- ModuleBuilderData.cs
- WeakEventTable.cs
- ApplicationId.cs
- IUnknownConstantAttribute.cs
- SignedPkcs7.cs
- EraserBehavior.cs
- JobCollate.cs
- DateTimeSerializationSection.cs
- UInt16.cs
- FileRecordSequence.cs
- ListView.cs
- AncillaryOps.cs
- WindowsEditBoxRange.cs
- EntityStoreSchemaGenerator.cs
- ErrorHandler.cs
- WebPartConnection.cs
- SurrogateEncoder.cs
- TextDpi.cs
- DayRenderEvent.cs
- CollectionsUtil.cs
- XmlCDATASection.cs
- ProbeDuplexAsyncResult.cs
- OperandQuery.cs
- SrgsSubset.cs
- DataDocumentXPathNavigator.cs
- DesignerDataRelationship.cs
- IndicShape.cs
- TreeView.cs
- Throw.cs
- DoubleLinkListEnumerator.cs
- EventlogProvider.cs
- ControlValuePropertyAttribute.cs
- XomlCompilerParameters.cs
- Error.cs
- SR.cs
- CompleteWizardStep.cs
- EntityModelBuildProvider.cs
- JulianCalendar.cs
- ProfileService.cs
- SoapObjectReader.cs
- PkcsMisc.cs
- EntityReference.cs
- HtmlValidationSummaryAdapter.cs
- DesignerGenericWebPart.cs
- RequestSecurityTokenForRemoteTokenFactory.cs
- MapPathBasedVirtualPathProvider.cs
- XmlValidatingReaderImpl.cs
- PropertyItem.cs
- VirtualizingPanel.cs
- DataServiceException.cs
- Drawing.cs
- TableLayoutSettingsTypeConverter.cs
- BindingWorker.cs
- OLEDB_Enum.cs
- GestureRecognitionResult.cs
- InertiaRotationBehavior.cs
- ColumnWidthChangedEvent.cs
- XmlReader.cs
- FontWeight.cs
- InputBindingCollection.cs
- Error.cs
- PersonalizationAdministration.cs
- Typography.cs
- ImageCodecInfoPrivate.cs
- BuildManagerHost.cs
- MasterPageBuildProvider.cs
- CssStyleCollection.cs
- DataControlFieldCollection.cs
- DebugViewWriter.cs
- FixedTextView.cs
- DateTimeOffset.cs
- SingleResultAttribute.cs
- IconEditor.cs
- TheQuery.cs
- ConstantSlot.cs
- ForeignConstraint.cs
- DesignerCommandAdapter.cs
- CodeIndexerExpression.cs
- GridViewUpdateEventArgs.cs
- _emptywebproxy.cs
- DependencySource.cs
- EmptyEnumerator.cs
- TimersDescriptionAttribute.cs
- CommandDesigner.cs
- ResourceDefaultValueAttribute.cs
- CacheModeConverter.cs
- LinqDataSourceHelper.cs
- TypedColumnHandler.cs
- Rotation3D.cs
- DecoderReplacementFallback.cs
- __FastResourceComparer.cs
- ProcessInfo.cs
- OdbcParameter.cs
- ToolStripContainerActionList.cs
- Thickness.cs
- SpotLight.cs
- sqlnorm.cs
- SQlBooleanStorage.cs
- NavigationWindow.cs