Le code suivant me semble raisonnable. Il devrait créer l'objet et ensuite utiliser les fonctionnalités dynamiques pour me laisser attribuer les propriétés que j'aime. Cependant le compilateur dit que "ExpandoObject ne contient pas de définition pour Test". Pour ce que je dis, "je sais, c'est le point de flipper!"L'initialisateur d'objet dynamique C# ne se compilera pas
dynamic example = new ExpandoObject
{
Test = "fail"
};
Toutes les idées pour lesquelles csc ne le permet pas.
L'alternative consiste à étendre manuellement le code en affectations de propriétés individuelles.
dynamic example = new ExpandoObject();
example.Test = "fail";
Ce qui est gênant quand j'ai beaucoup de propriétés à assigner.
Veuillez voter pour cette fonctionnalité dans Visual Studio [UserVoice] (https://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/7062098-support-object-initializers-on-expandoobjects). – orad