C#模板作为基本类型?如果不 。怎么样?

时间:2011-06-21 16:53:14

标签: c# templates inheritance multiple-inheritance

class Beta : IBeta

class AlphaBeta<TBeta> : TBeta
    where Tbeta : IBeta

如何让AlphaBeta成为Beta?

TY

2 个答案:

答案 0 :(得分:3)

你不能这样做 - .NET中的泛型与C ++中的模板不同。

您可以为AlphaBeta提供TBeta类型的成员变量,但不能从TBeta派生

如果您可以提供有关您在“更大图片”级别尝试执行的操作的更多信息,我们可能会提供更多帮助。是否可以接受实施IBeta

答案 1 :(得分:2)

我建议

    class AlphaBeta<T> : Beta
        where T : IBeta

因为T是C#泛型类型处理程序。然后使用约束来强制T成为继承IBeta类的类。