【问题标题】:multiple generic type constraints with inheritance具有继承的多个泛型类型约束
【发布时间】:2015-04-26 07:03:37
【问题描述】:

我正在尝试使用 C# 执行以下操作:

class SomeClass<T> : IEnumerable<KeyValuePair<string, T>>

显然它不是这样工作的。你能推荐一种方法来实现这一点吗?

抱歉,不准确。我的意思是,如果我这样做:

IEnumerable<KeyValuePair<string, T>> GetList() { 
    return new SomeClass<KeyValuePair<string,T>>();
} 

我需要显式转换为 IEnumerable>,否则编译器会给出错误“无法隐式转换类型”也许这对我来说很愚蠢/简单。

谢谢, 天使

【问题讨论】:

  • 什么不起作用?您应该能够很好地实现该接口。
  • “不能这样工作”是什么意思?这里没有类型约束,实现这个接口也没有问题。

标签: c# generics types constraints


【解决方案1】:

看来我的错误已经结束了,我需要这样做:

return new SomeClass<T>();

返回类型实际上是IEnumerable&lt;KeyValuePair&lt;string, T&gt;&gt;

而不是:

return new SomeClass<KeyValuePair<string,T>>();

因为 T 是KeyValuePair&lt;string, T&gt;&gt;

谢谢大家,很抱歉造成混乱。

天使

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    相关资源
    最近更新 更多