如何将“Dictionary ”作为Dictionary “传递?
C#和Stackoverflow都是新手……请随时注明是否应该以不同的方式或其他地方提出要求。
鉴于:
public interface IPoint {...} public struct DeliveryPoint : IPoint {...}
和生成具有大量交付点的字典的代码:
... Dictionary dict = new Dictionary(); ...
现在需要将这些点传递给需要接口类型的例程:
public void doSomething( Dictionary dict ) { ...}
以为我能做的事情如下:
doSomething( dict );
我发现的唯一解决方案是创建一个新的List并复制所有的点,这些点似乎首先破坏了实现接口的整个目的。
有更好的方法吗?
使该方法通用于类型实现接口的值。
public void DoSomething(IDictionary dict) where TPoint : IPoint { // do stuff }