【发布时间】:2014-12-27 14:24:06
【问题描述】:
注意:这个问题与潜在的重复问题有细微的不同......而且这有有效的答案 - 请在投票前阅读这两个问题:)。
--
我们有两个字典,它们的值具有共同的基本类型:
代码如下:
// Three classes
class BaseClass {...}
class Foo : BaseClass {...}
class Bar : BaseClass {...}
// Two collections
var fooDict = new Dictionary<long, Foo>;
var barDict = new Dictionary<long, Bar>;
// One method
public void FooBar (Dictionary<long, BaseClass> dict) {...}
// These do not work
FooBar(fooDict);
FooBar(barDict);
有没有办法让继承在字典中工作,或者我们必须使用不同的范例 - 还是我只是愚蠢?
对此的任何帮助或指导将不胜感激。
提前谢谢你。
【问题讨论】:
-
所以这不是设计使能的——因为这样做是不安全的……我会在下面看看 wavy 的回答
-
未来读者的注意事项 - 以下来自 WavyDavy 和 HimBromBreere 的两个很好的解决方案 - 都检查一下
标签: c# inheritance dictionary