Pex - Automated Whitebox Testing for .NET : Microsoft.ExtendedReflection.Metadata
This namespace contains a meta data model of the CLR. Parts of it are quite similar to the standard reflection library, but it goes further in many ways:

  • It describes the type system from the point of view of the execution engine, which includes explicit box types and information about memory layouts
  • It decodes the instruction stream, and provides a sequence of instructions as well as a basic-block representation
  • It decodes signature blobs
  • It can perform operations which are normally hidden by the execution engine, e.g. vtable-lookups
  • It includes facilities to create types which can be used to instantiate generic types whose type parameters have constraints
  • It aggressively caches data, and works around some quirks in the standard reflection implementation
  • In the following, the core concepts of the library are presented in more detail.

In order to reflect over instruction sequences, it also contains the concepts:

(c) Microsoft Corporation. All rights reserved. pex Wiki Documentation 0.93.50813.0