1 using System.Collections.Generic;
2 using System.Runtime.CompilerServices;
9 public static T[] staticMethod () {
13 public S[] genericMethod<S> () {
19 static bool callMethod<T> (Gen<T> g) {
20 return g.method ().GetType () == typeof (T[]);
23 static bool callStaticMethod<T> () {
24 return Gen<T>.staticMethod ().GetType () == typeof (T[]);
27 static bool callGenericMethod<T,S> (Gen<T> g) {
28 return g.genericMethod<S> ().GetType () == typeof (S[]);
31 [MethodImpl (MethodImplOptions.NoInlining)]
32 static bool work<T,S> () {
33 Gen<T> g = new Gen<T> ();
35 if (!callMethod<T> (g))
37 if (!callStaticMethod<T> ())
39 if (!callGenericMethod<T,S> (g))
44 public static int Main () {
45 if (!work<string,string> ())
47 if (!work<int,int> ())
49 if (!work<string,int> ())
51 if (!work<int,string> ())