如何将“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 }