Update Haiku support (#15674)
[mono-project.git] / mono / tests / bug-29585.cs
bloba1289fa515cda586229ed14d64f34cfd9b0e6bc0
1 namespace TestCase
3 using System;
4 using System.Linq;
5 using System.Reflection;
8 public class MainClass
10 public static int Main()
12 return new GenericDerived<Param>().FindMethod();
17 interface Param
22 class GenericDerived<T> :
23 Abstract<GenericDerived<T>>
25 public int FindMethod()
27 return FindGenericMethod<T>();
32 abstract class Abstract<TDerived>
33 where TDerived : Abstract<TDerived>
35 protected virtual int FindGenericMethod<T>()
37 var method = typeof(TDerived)
38 .GetMethods(BindingFlags.Instance | BindingFlags.NonPublic)
39 .FirstOrDefault(x => x.Name == "FindGenericMethod" && x.IsGenericMethod);
41 Console.WriteLine("TDerived = {0}", typeof(TDerived));
42 Console.WriteLine("method = {0}", method);
43 Console.WriteLine("method.DeclaringType = {0}", method.DeclaringType);
44 Console.WriteLine("method.IsGenericMethod = {0}", method.IsGenericMethod);
45 Console.WriteLine("method.IsGenericMethodDefinition = {0}", method.IsGenericMethodDefinition);
47 if (!method.IsGenericMethod)
48 return 1;
49 if (!method.IsGenericMethodDefinition)
50 return 2;
51 return 0;