我希望我的班级接受另一个通用类型。 这是有效的C#代码吗?
public class classname<T<J>>
{
}
答案 0 :(得分:1)
您正在考虑的是明智的,但是很遗憾,尚不支持 。它被称为更高种类的参数多态性,这是人们迫切期待的功能。 Roslyn issue
PS 。以防万一,您可能需要考虑以下内容,
public class A<T, J> where T : ISomething<J>
{
}
答案 1 :(得分:0)
这不是有效的c#代码,因为T本身不是通用的,而是以某种通用依赖性来回答的。泛型的想法是使类名能够与任何T一起使用。当您通过使用类进行实例化或专门化时,可以提供另一种泛型来代替T。您的第一堂课。
例如,如果有字符串列表,则可以有一个列表。声明列表类时,只有一个。声明变量或参数时,您可以拥有
var a= List<List<String>> ()