2

想象一下下面的方法

public void SomeMethod<T>(T param)
    where T: List<T2>
{
}

它不起作用:

错误 16 找不到类型或命名空间名称“T2”(您是否缺少 using 指令或程序集引用?)

我如何实现我明确打算做的事情?

4

2 回答 2

9

为此,您需要指定一个额外的通用参数

public void SomeMethod<T1,T2>(T1 param)
  where T1 : List<T2>
{
}
于 2010-01-05T19:28:28.293 回答
3

作为公认解决方案的一个侧面答案,由于 T 与 T2 明确相关,为什么有 T 呢?

public void SomeMethod<T2>(List<T2> listParam) 
{
}
于 2010-01-05T19:56:13.407 回答