dynamic
code ne compile pas, si vous ciblez les .NET framework 3.5.
Pour être plus clair, le compilateur va vous permettre de définir et d' attribuer un dynamic
variable, tels que:
dynamic x = 3;
Qu'une seule ligne de code de la compilation, car dynamic
seulement compile object
autant que les types sont concernés. Mais si vous essayez de faire quelque chose avec cette variable, comme dans:
Console.WriteLine(x);
... puis le compilateur aurait pour générer du code à découvrir/forcer le type réel, qui ne peut pas faire; vous aurez la suite des erreurs de compilation:
- Type prédéfini 'de Microsoft.CSharp.RuntimeBinder.Binder " n'est pas défini ou importés
- Un ou plusieurs des types requis pour compiler une expression dynamique ne peut pas être trouvé. Êtes-vous manque des références à Microsoft.CSharp.dll et System.Core.dll?
Le C# 4 compilateur s'appuie sur le DLR et plus précisément à la Microsoft.CSharp assemblée pour tout ce qui concerne l' dynamic
. Ces ne sont pas disponibles dans .NET 3.5. Donc la réponse est non, vous ne pouvez pas utiliser dynamic
lors du ciblage de Framework version 3.5.