我现在有这个代码:
Method1<Class1<Class2>>();
public void Method1<T>()
{
// process
}
Class1
本身需要通用类型(Class2
)。
我必须拨打Method1
大约10次,因为所有Class2
都属于同一类型。
那么如何用以下内容调用Method1
:
Method1<Class1<J>>();
其中J
本身就是Class1
的通用类型。
答案 0 :(得分:1)
是
这同样适用于此:
IList<IEnumerable<string>>
答案 1 :(得分:0)
您可以使用类文件中的using
指令为您的一个或两个类添加别名。
using J = Class2;
using MyClass = Class1<Class2>;
(根据需要在类名称中应用适当的名称空间,如Foo.Bar.Class1
等)
现在,您可以使用以下任何语句调用您的方法
Method1<Class1<Class2>>();
Method1<Class1<J>>();
Method1<MyClass>();
答案 2 :(得分:0)
甚至更清晰的代码使用using
:创建一个真正的子类:
class SpecializedClass1:Class1<Class2>
{
/* empty or do whatever makes sense in this specialized variant */
}