假設我有一個名爲Composite
的類,它包含另一個類Component
的集合,所有類都具有屬性Name
。使用Dictionary
來存儲組件會更好嗎,還是使用動態對象更好?Dynamic vs Dictionary [C#]
例如,會是更好地做到這一點:
Component component = someComposite.Components["RandomComponent"];
或本:
Component component = someComposite.Components.RandomComponent;
凡someComposite.Components是在第二個例子中dynamic
。
第二種情況似乎更好,但沒有類型安全......
我想補充一點,在某些時候我最終會做這樣的:
DerivedComponent component = someComposite.Components["RandomComponent"] as DerivedComponent;
在這種情況下,dynamic
可以節省我打出了轉換。
那麼哪個更好的設計?
這更像是它 - 感謝解釋。 – YellPika 2010-12-11 16:57:35