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
- InertiaExpansionBehavior.cs
- ErrorStyle.cs
- RegistryConfigurationProvider.cs
- QuaternionRotation3D.cs
- MultiSelector.cs
- PreviewPageInfo.cs
- TextEditor.cs
- XmlWriterTraceListener.cs
- BaseProcessor.cs
- DataKeyCollection.cs
- DesignerActionUIStateChangeEventArgs.cs
- WindowsFormsHostPropertyMap.cs
- TimerEventSubscriptionCollection.cs
- RequestCacheValidator.cs
- IsolationInterop.cs
- CodeLabeledStatement.cs
- ContextConfiguration.cs
- SelectedDatesCollection.cs
- Transform.cs
- TextEditorLists.cs
- FaultHandlingFilter.cs
- CompiledIdentityConstraint.cs
- SystemNetHelpers.cs
- IntSecurity.cs
- ControlIdConverter.cs
- HandlerFactoryCache.cs
- exports.cs
- RoleManagerEventArgs.cs
- DockProviderWrapper.cs
- EdmMember.cs
- WebCodeGenerator.cs
- RawKeyboardInputReport.cs
- DescendentsWalker.cs
- ZeroOpNode.cs
- XPathParser.cs
- ResourceManager.cs
- TimeSpanValidatorAttribute.cs
- AdapterUtil.cs
- TreeNodeBindingCollection.cs
- PenThreadPool.cs
- InvalidDocumentContentsException.cs
- FixedSOMContainer.cs
- XmlDataDocument.cs
- VisualTreeFlattener.cs
- WebPartHelpVerb.cs
- TextTreeText.cs
- SimpleMailWebEventProvider.cs
- SqlFormatter.cs
- AuthorizationSection.cs
- Configuration.cs
- AuthenticationService.cs
- filewebresponse.cs
- OrthographicCamera.cs
- Types.cs
- AuthenticatedStream.cs
- VBIdentifierNameEditor.cs
- XPathAxisIterator.cs
- ObjectResult.cs
- AtomServiceDocumentSerializer.cs
- MemoryStream.cs
- TextPattern.cs
- JsonUriDataContract.cs
- FixedBufferAttribute.cs
- HandleRef.cs
- TextEndOfLine.cs
- DrawListViewSubItemEventArgs.cs
- CodeMethodInvokeExpression.cs
- TypefaceMetricsCache.cs
- TraceContext.cs
- RemotingClientProxy.cs
- LifetimeServices.cs
- InternalDispatchObject.cs
- HashCodeCombiner.cs
- __Filters.cs
- FrameworkTextComposition.cs
- XPathEmptyIterator.cs
- ToolStripItemClickedEventArgs.cs
- BuildProvidersCompiler.cs
- VersionPair.cs
- FunctionNode.cs
- XmlHierarchicalDataSourceView.cs
- ForeignConstraint.cs
- SqlReorderer.cs
- SqlRewriteScalarSubqueries.cs
- DetailsViewDeleteEventArgs.cs
- LabelLiteral.cs
- TrackingStringDictionary.cs
- DataBoundLiteralControl.cs
- SimpleWebHandlerParser.cs
- DataServiceRequestOfT.cs
- DataAdapter.cs
- DataGridViewColumnHeaderCell.cs
- NewArrayExpression.cs
- MarkupWriter.cs
- SqlInternalConnection.cs
- DelimitedListTraceListener.cs
- ImportContext.cs
- ConfigXmlSignificantWhitespace.cs
- WindowsGraphicsCacheManager.cs
- ReadOnlyHierarchicalDataSource.cs