// // Check whether we're correctly handling `this'. // // public class Foo[T,U] { public Hello ( _foo : Foo[T,U]) : void { } public virtual Test () : void { // // Again, this must be encoded as a TypeSpec (Foo) // instead of a TypeDef. Hello (this); } } public class Bar[T] : Foo[T,long] { public Test ( foo : Foo[T,long]) : void { Hello (foo); } } public class Baz[T] : Foo[T,string] { public override Test () : void { Hello (this); } } class X { static Main () : void { } } /* BEGIN-OUTPUT END-OUTPUT */