【发布时间】:2012-05-10 17:49:51
【问题描述】:
我可以通过绕过任何强制转换的接口设置MyDict<Type, BlockingCollection<"differentTypes"> 的字典,从而防止使用对象或动态类型吗?
我想使用这样的原因是因为我想在运行时初始化不同类型的阻塞集合,因为传入的对象是不同的类型,然后我想将这些传入的对象添加到类型匹配的阻塞集合中。我还想稍后访问 BlockingCollection 中的对象而不必强制转换。 Blocking 集合的必要类型在包装类的实例化时是已知的。传入对象的类型仅在运行时已知。传入的对象类型永远不会与类实例化时已知的类型不同。我想从匹配的 BlockingCollection 中检索的对象的类型也只在运行时才知道。有什么方法可以设置它而无需强制转换?
我浏览了许多相关问题,但没有找到与此处描述的完全相同的规格。
【问题讨论】:
-
为什么要避免动态?
-
如果我错了请纠正我,但它不会因为可能的拳击而增加开销吗?它本质上不是对象类型吗?最重要的是延迟和吞吐量,我尽量避免任何类型的投射和装箱。
-
@Freddy 这里的实际数据是什么?价值观是什么?
-
@Marc,值是类对象
-
@Freddy 那你为什么要讨论拳击?
标签: c# collections types interface blockingcollection