I have this code at the moment:
Method1<Class1<Class2>>();开发者_如何学运维
public void Method1<T>()
{
// process
}
Class1 needs a generic type itself (Class2).
I have to call the Method1 about 10 times for all of which Class2 would be the same type.
So how could I call Method1 with something like following:
Method1<Class1<J>>();
Where J is a generic type itself for the Class1.
Yes.
The same applies here:
IList<IEnumerable<string>>
You can use the using directive in your class file to alias either one or both of your classes.
using J = Class2;
using MyClass = Class1<Class2>;
(Apply appropriate namespaces as necessary to the class names, like Foo.Bar.Class1, etc.)
Now you can invoke your method with any of the following statements
Method1<Class1<Class2>>();
Method1<Class1<J>>();
Method1<MyClass>();
Or even cleaner code as using using: create a real subclass:
class SpecializedClass1:Class1<Class2>
{
/* empty or do whatever makes sense in this specialized variant */
}
加载中,请稍侯......
精彩评论