21 lines
432 B
C#
Raw Normal View History

class list <A> {
public class Cons <T> : list <T> { }
public class Nil <T> : list <T> { }
}
class C {
public static void Rev<T> (list <T> y) {
if (y is list<object>.Cons<T>)
System.Console.WriteLine ("Cons");
if (y is list<object>.Nil<T>)
System.Console.WriteLine ("Nil");
}
}
class M {
public static void Main () {
C.Rev (new list<object>.Cons <string> ());
C.Rev (new list<object>.Nil <string> ());
}
}