ClearScript Library
ClearScript Library
ClearScript Library Reference
Microsoft.ClearScript
ImmutableValueAttribute Class
ImmutableValueAttribute Constructor
ImmutableValueAttribute Properties
ImmutableValueAttribute Methods

# ImmutableValueAttribute Class

Specifies that instances of the target struct are immutable.
Inheritance Hierarchy
SystemObject
SystemAttribute
Microsoft.ClearScriptImmutableValueAttribute
Namespace: Microsoft.ClearScript
Assembly: ClearScript.Core (in ClearScript.Core.dll) Version: 7.5.0
Syntax
C#
VB
C++
F#
Copy

    [AttributeUsageAttribute(AttributeTargets.Struct)]
    public sealed class ImmutableValueAttribute : Attribute

    <AttributeUsageAttribute(AttributeTargets.Struct)>
    Public NotInheritable Class ImmutableValueAttribute
    	Inherits Attribute

    [AttributeUsageAttribute(AttributeTargets::Struct)]
    public ref class ImmutableValueAttribute sealed : public Attribute

    [<SealedAttribute>]
    [<AttributeUsageAttribute(AttributeTargets.Struct)>]
    type ImmutableValueAttribute =
        class
            inherit Attribute
        end

The ImmutableValueAttribute type exposes the following members.

Constructors

| Name | Description
--- | --- | ---
| ImmutableValueAttribute | Initializes a new ImmutableValueAttribute instance.

Top
Properties

| Name | Description
--- | --- | ---
| TypeId | When implemented in a derived class, gets a unique identifier for this Attribute. (Inherited from Attribute)

Top
Methods

| Name | Description
--- | --- | ---
| Equals | Returns a value that indicates whether this instance is equal to a specified object. (Inherited from Attribute)
| Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object)
| GetHashCode | Returns the hash code for this instance. (Inherited from Attribute)
| GetType | Gets the Type of the current instance. (Inherited from Object)
| IsDefaultAttribute | When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class. (Inherited from Attribute)
| Match | When overridden in a derived class, returns a value that indicates whether this instance equals a specified object. (Inherited from Attribute)
| MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object)
| ToString | Returns a string that represents the current object. (Inherited from Object)

Top
Remarks
When this attribute is applied to a struct, ClearScript exposes the same object reference for all instances of the struct that satisfy equality comparison, giving script code the ability to use native equality operators to compare the exposed objects. This behavior is also enabled automatically for all enums, readonly structs, numeric types, DateTime, DateTimeOffset, TimeSpan, and Guid.
See Also

#### Reference

Microsoft.ClearScript Namespace

Copyright © Microsoft Corporation. All rights reserved.

Send comments on this topic to Microsoft