22 lines
502 B
C#
22 lines
502 B
C#
|
// Bug #76551
|
||
|
using System;
|
||
|
using System.Reflection;
|
||
|
|
||
|
public abstract class Foo<T> where T : class
|
||
|
{
|
||
|
}
|
||
|
|
||
|
public class Test
|
||
|
{
|
||
|
public Foo<K> Hoge<K> () 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 ();
|
||
|
}
|
||
|
}
|
||
|
|