BCL libraries typically use the attribute TypeForwardedTowhen different versions of a frame move a type between assemblies. For example, style delegates Func<>were moved from System.Core in framework 3.5 to mscorlib in framework 4.0.
You can view the use of this world in the real world by opening System.Core.dll from 4.0 in ildasm, double-clicking the Manifest node and looking for all lines similar to the following
.class extern forwarder System.Func`1
{
.assembly extern mscorlib
}
.class extern forwarder System.Func`2
{
.assembly extern mscorlib
}
.class extern forwarder System.Func`3
{
.assembly extern mscorlib
}
source
share