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; ////// [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1019:DefineAccessorsForAttributeArguments")] [AttributeUsage(AttributeTargets.All)] public sealed class AmbientValueAttribute : Attribute { private readonly object value; ///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. ////// 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, converting the /// specified value to the /// specified type, and using the U.S. English culture as the /// translation /// context. /// public AmbientValueAttribute(char value) { this.value = value; } ///Initializes a new instance of the ///class using a Unicode /// character. /// public AmbientValueAttribute(byte value) { this.value = value; } ///Initializes a new instance of the ///class using an 8-bit unsigned /// integer. /// public AmbientValueAttribute(short value) { this.value = value; } ///Initializes a new instance of the ///class using a 16-bit signed /// integer. /// public AmbientValueAttribute(int value) { this.value = value; } ///Initializes a new instance of the ///class using a 32-bit signed /// integer. /// public AmbientValueAttribute(long value) { this.value = value; } ///Initializes a new instance of the ///class using a 64-bit signed /// integer. /// public AmbientValueAttribute(float value) { this.value = value; } ///Initializes a new instance of the ///class using a /// single-precision floating point /// number. /// public AmbientValueAttribute(double value) { this.value = value; } ///Initializes a new instance of the ///class using a /// double-precision floating point /// number. /// public AmbientValueAttribute(bool value) { this.value = value; } ///Initializes a new instance of the ///class using a /// value. /// public AmbientValueAttribute(string value) { this.value = value; } ///Initializes a new instance of the ///class using a . /// public AmbientValueAttribute(object value) { this.value = value; } ///Initializes a new instance of the ////// class. /// 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. //------------------------------------------------------------------------------ ///// Gets the ambient value of the property this /// attribute is /// bound to. /// ///// 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; ////// [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1019:DefineAccessorsForAttributeArguments")] [AttributeUsage(AttributeTargets.All)] public sealed class AmbientValueAttribute : Attribute { private readonly object value; ///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. ////// 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, converting the /// specified value to the /// specified type, and using the U.S. English culture as the /// translation /// context. /// public AmbientValueAttribute(char value) { this.value = value; } ///Initializes a new instance of the ///class using a Unicode /// character. /// public AmbientValueAttribute(byte value) { this.value = value; } ///Initializes a new instance of the ///class using an 8-bit unsigned /// integer. /// public AmbientValueAttribute(short value) { this.value = value; } ///Initializes a new instance of the ///class using a 16-bit signed /// integer. /// public AmbientValueAttribute(int value) { this.value = value; } ///Initializes a new instance of the ///class using a 32-bit signed /// integer. /// public AmbientValueAttribute(long value) { this.value = value; } ///Initializes a new instance of the ///class using a 64-bit signed /// integer. /// public AmbientValueAttribute(float value) { this.value = value; } ///Initializes a new instance of the ///class using a /// single-precision floating point /// number. /// public AmbientValueAttribute(double value) { this.value = value; } ///Initializes a new instance of the ///class using a /// double-precision floating point /// number. /// public AmbientValueAttribute(bool value) { this.value = value; } ///Initializes a new instance of the ///class using a /// value. /// public AmbientValueAttribute(string value) { this.value = value; } ///Initializes a new instance of the ///class using a . /// public AmbientValueAttribute(object value) { this.value = value; } ///Initializes a new instance of the ////// class. /// 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./// Gets the ambient value of the property this /// attribute is /// bound to. /// ///
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- NavigationPropertyEmitter.cs
- FilterQuery.cs
- CatalogPartChrome.cs
- MetadataPropertyCollection.cs
- ControlCollection.cs
- ExpressionPrefixAttribute.cs
- EnglishPluralizationService.cs
- RequiredAttributeAttribute.cs
- EventLogger.cs
- MemberPath.cs
- SqlMultiplexer.cs
- EventDescriptorCollection.cs
- XmlSchemaAppInfo.cs
- CompiledRegexRunnerFactory.cs
- GenericWebPart.cs
- KeyProperty.cs
- ReferenceEqualityComparer.cs
- BaseAddressElement.cs
- SqlStatistics.cs
- CompositeActivityMarkupSerializer.cs
- EastAsianLunisolarCalendar.cs
- ChannelSettingsElement.cs
- EntityDataSourceDesigner.cs
- Dynamic.cs
- Point3D.cs
- ControlUtil.cs
- ThreadPool.cs
- ResourceProviderFactory.cs
- DataKey.cs
- Parser.cs
- ItemDragEvent.cs
- InvalidCastException.cs
- BackgroundWorker.cs
- ZipFileInfo.cs
- Geometry.cs
- ConfigurationLoaderException.cs
- EntityProviderServices.cs
- SingleAnimationBase.cs
- LayoutEvent.cs
- ChildrenQuery.cs
- AnchoredBlock.cs
- HwndTarget.cs
- XmlNamespaceDeclarationsAttribute.cs
- CompilerLocalReference.cs
- SettingsAttributes.cs
- OleDbRowUpdatedEvent.cs
- LogEntrySerializationException.cs
- SymmetricAlgorithm.cs
- LinkLabel.cs
- PhysicalFontFamily.cs
- StylusPointDescription.cs
- Filter.cs
- CreateUserErrorEventArgs.cs
- TableAdapterManagerMethodGenerator.cs
- SiteMapPath.cs
- SqlProvider.cs
- ContourSegment.cs
- ComplexTypeEmitter.cs
- PartialTrustVisibleAssembly.cs
- LinkClickEvent.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- _KerberosClient.cs
- XmlNamespaceManager.cs
- Inflater.cs
- RequestTimeoutManager.cs
- PictureBox.cs
- RubberbandSelector.cs
- AdCreatedEventArgs.cs
- MemberExpressionHelper.cs
- PropertyNames.cs
- SrgsRuleRef.cs
- Constants.cs
- ComplusTypeValidator.cs
- oledbconnectionstring.cs
- TreeViewCancelEvent.cs
- ValidatorCompatibilityHelper.cs
- CollectionChangeEventArgs.cs
- Cursors.cs
- InkSerializer.cs
- RowsCopiedEventArgs.cs
- CalendarDesigner.cs
- CaseInsensitiveComparer.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- SqlDataSourceDesigner.cs
- SqlDataSourceEnumerator.cs
- EventWaitHandle.cs
- OrderablePartitioner.cs
- _SSPISessionCache.cs
- GridProviderWrapper.cs
- PolicyVersionConverter.cs
- ObjectIDGenerator.cs
- EmptyEnumerable.cs
- PartialTrustHelpers.cs
- MeshGeometry3D.cs
- XmlSignatureManifest.cs
- XmlSerializerSection.cs
- CacheVirtualItemsEvent.cs
- ArrowControl.xaml.cs
- EntityDataSourceChangedEventArgs.cs
- TemplateControl.cs