Dans les démos C# 4.0, je vois beaucoup de code qui utilise le type dynamique. Par exemple, le code suivant définit la valeur d'une cellule Excel:Pourquoi les bibliothèques COM utilisées à partir de C# 4.0 nécessitent-elles une utilisation aussi intensive des types dynamiques?
excel.Cells [1, 1] .Value = ...
Cependant, vous pouvez également accéder à la cellule d'une manière liée au début avec une distribution:
((Plage) excel.Cells [1, 1]). Value = ...;
Pourquoi la bibliothèque COM Excel ne décrit-elle pas simplement le type de cellule comme type de plage en premier lieu? De même, tous les arguments à la méthode suivante sont dynamiques:
excel.ActiveWorkbook.Charts.Add (...)
Pourquoi ne pouvait pas les arguments ont été statiques? En regardant le modèle d'objet Excel, il y a des types dynamiques partout. Est-ce dû à des limitations dans l'expressivité dans COM? Existe-t-il un modèle dans lequel les types dynamiques plutôt que les types statiques sont utilisés dans les bibliothèques COM?
Je suppose que le "pourquoi dynamique" était l'objectif initial des démos, non? :) – Galilyou