mscorlib 4.0.0.0 ReferenceTypeConstraint ReferenceTypeConstraint System.Delegate `` TValue To be added. To be added.

The class enables language compilers to attach arbitrary properties to managed objects at run time. A object is a dictionary that binds a managed object, which is represented by a key, to its attached property, which is represented by a value. The object's keys are the individual instances of the class to which the property is attached, and its values are the property values that are assigned to the corresponding objects.

Keys must be unique; in other words, the class supports one attached value per managed object. Two keys are equal if passing them to the method returns true.

You cannot control equality comparisons by overriding to explicitly set the hash code for a key. The class does not use the method to compute hash codes, and therefore does not invoke overrides.

Although the class holds a collection of key/value pairs, it is best thought of as a table rather than a dictionary object. The class differs from a dictionary in several ways:

It does not persist keys. That is, a key is not kept alive only because it is a member of the collection.

It does not include all the methods (such as GetEnumerator or Contains) that a dictionary typically has.

It does not implement the interface.

The class differs from other collection objects in its management of the object lifetime of keys stored in the collection. Ordinarily, when an object is stored in a collection, its lifetime lasts until it is removed (and there are no additional references to the object) or until the collection object itself is destroyed. However, in the class, adding a key/value pair to the table does not ensure that the key will persist, even if it can be reached directly from a value stored in the table (for example, if the table contains one key, A, with a value V1, and a second key, B, with a value P2 that contains a reference to A). Instead, automatically removes the key/value entry as soon as no other references to a key exist outside the table. The example provides an illustration.

Enables compilers to dynamically attach object fields to managed objects.