C# Language Anonyme vs dynamique


Exemple

Les types anonymes permettent la création d'objets sans avoir à définir explicitement leurs types à l'avance, tout en conservant une vérification de type statique.

var anon = new { Value = 1 };
Console.WriteLine(anon.Id); // compile time error

Inversement, dynamic a la vérification de type dynamique, optant pour des erreurs d'exécution, au lieu d'erreurs de compilation.

dynamic val = "foo";
Console.WriteLine(val.Id); // compiles, but throws runtime error