E
Size: a a a
A
IC
When a callvirt method instruction has been prefixed by constrained thisType, the instruction is executed as follows:
If thisType is a reference type (as opposed to a value type) then ptr is dereferenced and passed as the 'this' pointer to the callvirt of method.
If thisType is a value type and thisType implements method then ptr is passed unmodified as the 'this' pointer to a call method instruction, for the implementation of method by thisType.
If thisType is a value type and thisType does not implement method then ptr is dereferenced, boxed, and passed as the 'this' pointer to the callvirt method instruction.
IC
IC
IC
IC
E
IC
public void M2<T>(T item) where T:IDisposable
{
item.Dispose();
}
E
public void M2<T>(T item) where T:IDisposable
{
item.Dispose();
}
IC
IC
A