我想要实现的是:
举一个错误的例子:
public class MyClass<T> : MyParentClass where T : IMySpecialInterface<X>
{
...
}
Run Code Online (Sandbox Code Playgroud)
实现此目的的正确语法是什么?
谢谢.
Mat*_*ott 13
除非在运行时创建了类型,否则不能在不知道类型的情况下使用泛型.
你最合适的是:
public class MyClass<T, U> : MyParentClass where T: IMySpecialInterface<U>
{
}
Run Code Online (Sandbox Code Playgroud)
更新还是可以使用dynamic?
IMySpecialInterface<X>除非为其提供辅助类型,否则您将需要定义非泛型版本MyClass.整个事情看起来像这样:
public interface IMySpecialInterface
{
}
public interface IMySpecialInterface<X> : IMySpecialInterface
{
}
public MyClass<T> : MyParentClass where T : IMySpecialInterface
{
}
Run Code Online (Sandbox Code Playgroud)
public class MyClass<T, X> : MyParentClass where T : IMySpecialInterface<X>
{
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7983 次 |
| 最近记录: |