Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / CompMod / System / ComponentModel / AmbientValueAttribute.cs / 1305376 / 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();
}
}
}
// 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 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();
}
}
}
// 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
- UserNamePasswordServiceCredential.cs
- JsonXmlDataContract.cs
- MasterPageBuildProvider.cs
- NetworkInterface.cs
- SqlDataSourceCache.cs
- X500Name.cs
- BamlWriter.cs
- SharedUtils.cs
- XmlReturnWriter.cs
- GatewayDefinition.cs
- ExpressionUtilities.cs
- DefaultMemberAttribute.cs
- AuthorizationContext.cs
- ThreadStateException.cs
- X509ChainPolicy.cs
- RelationshipEndMember.cs
- RegistryPermission.cs
- DataPager.cs
- BamlLocalizableResourceKey.cs
- SecurityElement.cs
- EventArgs.cs
- ResourceDisplayNameAttribute.cs
- MyContact.cs
- SQLByte.cs
- DelimitedListTraceListener.cs
- SqlCachedBuffer.cs
- Int16Animation.cs
- ClientRuntime.cs
- CryptoApi.cs
- ResourceSet.cs
- __FastResourceComparer.cs
- SmiTypedGetterSetter.cs
- XXXInfos.cs
- X509Extension.cs
- PrintDialog.cs
- SmiMetaDataProperty.cs
- ArrayElementGridEntry.cs
- FunctionImportMapping.ReturnTypeRenameMapping.cs
- Merger.cs
- TraceHandler.cs
- FigureParaClient.cs
- CmsUtils.cs
- SoapException.cs
- FileSystemWatcher.cs
- BitmapEffectCollection.cs
- EntityContainerEntitySetDefiningQuery.cs
- DbDataReader.cs
- WrapPanel.cs
- CommandSet.cs
- RTLAwareMessageBox.cs
- HorizontalAlignConverter.cs
- NGCUIElementCollectionSerializerAsync.cs
- ClientSession.cs
- EventLogException.cs
- MultiSelector.cs
- RulePatternOps.cs
- RtfToXamlLexer.cs
- WindowsListViewGroup.cs
- FontWeightConverter.cs
- SqlClientPermission.cs
- OleDbReferenceCollection.cs
- AnimationLayer.cs
- UnwrappedTypesXmlSerializerManager.cs
- Serializer.cs
- SqlDataReaderSmi.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- StoreAnnotationsMap.cs
- XamlToRtfWriter.cs
- WorkflowInstanceExtensionCollection.cs
- Parser.cs
- TableLayoutPanelResizeGlyph.cs
- DateTimeFormat.cs
- Convert.cs
- PermissionSet.cs
- XmlDataImplementation.cs
- CellIdBoolean.cs
- CodeAssignStatement.cs
- ExpanderAutomationPeer.cs
- WorkBatch.cs
- TriggerBase.cs
- DateTimeOffsetConverter.cs
- WebPartChrome.cs
- QuotedPrintableStream.cs
- CodeNamespaceImport.cs
- Hex.cs
- DllNotFoundException.cs
- TreeViewCancelEvent.cs
- Base64Encoder.cs
- WmlPanelAdapter.cs
- StopStoryboard.cs
- ModelTreeEnumerator.cs
- XmlHierarchicalDataSourceView.cs
- TemplateComponentConnector.cs
- nulltextcontainer.cs
- ObjectViewListener.cs
- MsmqChannelFactory.cs
- ApplicationException.cs
- XXXOnTypeBuilderInstantiation.cs
- SecurityNegotiationException.cs
- SqlGenericUtil.cs