Il y a, par exemple, le ViewBag propriété de ControllerBase
et nous pouvons obtenir/définir dynamiquement des valeurs et ajouter un nombre quelconque de champs ou de propriétés supplémentaires à cet objet, ce qui est cool. Je veux utiliser quelque chose comme ça, au delà de l'application MVC et Controller
dans d'autres types d'applications. Lorsque j'ai essayé de créer dynamique et définir sa propriété comme ceci :
1. dynamic MyDynamic = new { A="a" };
2. MyDynamic.A = "asd";
3. Console.WriteLine(MyDynamic.A);
J'ai RuntimeBinderException
avec message La propriété ou l'indexeur '<>f__AnonymousType0.A' ne peut pas être assigné à -- il est en lecture seule. dans la ligne 2. De plus, je pense que ce n'est pas tout à fait ce que je recherche. Peut-être existe-t-il une classe qui me permette de faire quelque chose comme :
??? MyDynamic = new ???();
MyDynamic.A = "A";
MyDynamic.B = "B";
MyDynamic.C = DateTime.Now;
MyDynamic.TheAnswerToLifeTheUniverseAndEverything = 42;
avec l'ajout et le réglage dynamiques de propriétés.