我只是想知道为什么密封类不允许是泛型类型约束?
假设我在c#中有一个简单的代码片段,如下所示
public sealed class Base
{
public Base() { }
}
public class Derived<T>
where T : Base
{
public Derived() { }
}
Run Code Online (Sandbox Code Playgroud)
当我实例化Derivedclass时,我得到'Base'不是一个有效的约束.用作约束的类型必须是接口,非密封类或类型参数.
Jon*_*eet 10
因为那时通用没有任何意义.T也只有是Base,所以你还不如让一个非泛型类型开始.
你为什么要 Derived在这里成为通用的?为什么你想要一个被称为Base(暗示它应该是基本类型)的类型被密封?
| 归档时间: |
|
| 查看次数: |
972 次 |
| 最近记录: |