Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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();
}
}
}
// 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
- FileDataSourceCache.cs
- C14NUtil.cs
- GroupBoxRenderer.cs
- HostedHttpRequestAsyncResult.cs
- Opcode.cs
- WebBodyFormatMessageProperty.cs
- CustomCredentialPolicy.cs
- XmlDataSourceView.cs
- TrackingStringDictionary.cs
- FixedFindEngine.cs
- ThaiBuddhistCalendar.cs
- ToolStripLocationCancelEventArgs.cs
- ValuePattern.cs
- ArrayElementGridEntry.cs
- RoleGroupCollection.cs
- RenderingBiasValidation.cs
- DateTimeFormatInfo.cs
- TypeBuilder.cs
- HtmlTableRow.cs
- DescendentsWalker.cs
- SignatureToken.cs
- CodePrimitiveExpression.cs
- _SSPISessionCache.cs
- TerminatorSinks.cs
- SqlInternalConnectionTds.cs
- DBConnection.cs
- BehaviorEditorPart.cs
- XmlTextReader.cs
- WebZone.cs
- TypographyProperties.cs
- BasicBrowserDialog.cs
- BitmapEncoder.cs
- DrawingImage.cs
- HttpCapabilitiesSectionHandler.cs
- CodePropertyReferenceExpression.cs
- ReceiveContext.cs
- RSAProtectedConfigurationProvider.cs
- PropertyDescriptorCollection.cs
- DocumentApplicationJournalEntry.cs
- TypeConverterAttribute.cs
- DeclarativeCatalogPart.cs
- FileSystemInfo.cs
- DiscoveryReference.cs
- ManualResetEvent.cs
- ParameterModifier.cs
- WebSysDefaultValueAttribute.cs
- EntityDataSourceEntitySetNameItem.cs
- StringBuilder.cs
- ZoomingMessageFilter.cs
- WindowsUserNameSecurityTokenAuthenticator.cs
- UriTemplateQueryValue.cs
- SizeAnimation.cs
- SharedPersonalizationStateInfo.cs
- COM2IVsPerPropertyBrowsingHandler.cs
- SqlReferenceCollection.cs
- VirtualizedItemProviderWrapper.cs
- XmlSerializerFactory.cs
- XmlSerializationGeneratedCode.cs
- ImpersonationContext.cs
- LayoutEvent.cs
- ToolStripRendererSwitcher.cs
- UnknownBitmapEncoder.cs
- WebDescriptionAttribute.cs
- AppearanceEditorPart.cs
- DocumentPropertiesDialog.cs
- TrustManagerMoreInformation.cs
- HashSet.cs
- cookiecollection.cs
- ActivationProxy.cs
- StorageMappingItemLoader.cs
- FormattedTextSymbols.cs
- FocusTracker.cs
- CompletionBookmark.cs
- StoreContentChangedEventArgs.cs
- HttpPostProtocolImporter.cs
- StorageScalarPropertyMapping.cs
- IndentTextWriter.cs
- PingOptions.cs
- BoundField.cs
- PreservationFileReader.cs
- InternalRelationshipCollection.cs
- ServiceDebugElement.cs
- CodeActivityMetadata.cs
- SettingsPropertyValueCollection.cs
- FrameworkObject.cs
- CompilerParameters.cs
- HotSpot.cs
- unitconverter.cs
- CheckedPointers.cs
- ReadOnlyCollection.cs
- HandoffBehavior.cs
- IdentityHolder.cs
- ErrorFormatterPage.cs
- Object.cs
- ToolboxComponentsCreatedEventArgs.cs
- EndPoint.cs
- TypeDelegator.cs
- Italic.cs
- ManipulationCompletedEventArgs.cs
- Emitter.cs