7 public static int Main ()
9 if (!Test_1 (new Derived ()))
12 if (!Test_2 (new S ()))
18 static bool Test_1
<T
> (Templated
<T
> template
)
20 return template
is Derived
;
23 static bool Test_2
<U
> (IA
<U
> arg
)
29 public abstract class Templated
<T
>
33 public class Derived
: Templated
<Derived
>
37 public interface IA
<T
>
41 public struct S
: IA
<S
>