Dites que j'ai une classe appelée Composite
qui contient une collection d'une autre classe Component
, qui ont tous la propriété Name
. Serait-il préférable d'utiliser un Dictionary
pour stocker les composants, ou serait-il préférable d'utiliser un objet dynamique.Dynamique vs Dictionnaire [C#]
Par exemple, serait-il préférable de le faire:
Component component = someComposite.Components["RandomComponent"];
ou ceci:
Component component = someComposite.Components.RandomComponent;
Où someComposite.Components est dynamic
dans le second exemple.
Le second cas semble être plus agréable, mais il n'y a pas de sécurité de type ...
Je veux ajouter que, à un moment donné, je vais finir par faire ceci:
DerivedComponent component = someComposite.Components["RandomComponent"] as DerivedComponent;
Dans ce cas dynamic
peut sauver moi taper la conversion.
Alors, quel est le meilleur design?
C'est plus comme ça - merci pour l'explication. – YellPika