非泛型声明中不允许有约束

时间:2012-04-19 06:46:36

标签: .net generics methods

 private Result Execute(
     out T returnValue, 
     string storedProcedureName, 
     Hashtable parameters, 
     ExecuteType executeType) 
   where T : class

以下错误意味着什么,我该如何解决?

错误处:非通用声明中不允许约束

2 个答案:

答案 0 :(得分:19)

private Result Execute<T>(
                           out T returnValue, 
                           string storedProcedureName, 
                           Hashtable parameters, 
                           ExecuteType executeType
                         ) where T : class

请注意<T>之后所需的Execute

答案 1 :(得分:1)

是的,它也适用于扩展方法。

class Class1<T> where T:class
{
    public void MethodA()
    {
        Console.WriteLine("Method A");
    }
}

static class ExtenstionTest
{
    public static void MethodA<T>(this Class1<T> A1, int a) where T : class
    {
        Console.WriteLine("Extension Method A" + a);
    }
}