【问题标题】:Constraint syntax with generics, also deriving from a class具有泛型的约束语法,也派生自一个类
【发布时间】:2011-08-31 03:50:52
【问题描述】:

我遇到了以下问题:我有一个泛型类,有一个约束,它派生自非泛型接口:

public abstract class DrilldownBase<W> where W : class, IDrilldown

这段代码是不正确的,因为它认为 IDrilldown 是一个约束,当它不是。我想要的是从 IDrilldown 继承类 DrilldownBase。我错过了什么?

谢谢。

【问题讨论】:

    标签: c# .net generics constraints derived-class


    【解决方案1】:

    那就不要让它成为约束的一部分。

    约束应该在继承声明之后:

    public abstract class DrilldownBase<W> : IDrilldown where W : class, 
    

    【讨论】:

    • 谢谢。这种语法对我来说似乎很奇怪,事实上 IDrilldown 和 where 之间没有分隔符是不同的。当最短等待时间结束时,我会将您标记为答案。
    • @greggorob64 好的风格是将 where 子句放在下一行
    • 注意,谢谢。我的母语实际上是 VC++.net。在我发布 SO 以获得更多曝光之前,我总是翻译我的代码问题。长话短说,在 VC++ 中,您必须将通用约束放在函数之前。
    • @greggorob64 - 我知道你的痛苦......每当我转换到与我目前的主要语言不同的语言时,我都会发生这种情况。很高兴我能帮上忙。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-26
    • 1970-01-01
    相关资源
    最近更新 更多