// Bug #76551 using System; using System.Reflection; public abstract class Foo where T : class { } public class Test { public Foo Hoge () where K : class { return null; } public static void Main () { MethodInfo mi = typeof (Test).GetMethod ("Hoge"); foreach (Type t in mi.GetGenericArguments ()) if ((t.GenericParameterAttributes & GenericParameterAttributes.ReferenceTypeConstraint) == 0) throw new Exception (); } }