RuntimeBinderException lors de l'accès dynamique de type anonyme en vue

J'ai rencontré une étrange anomalie lors de l'apprentissage/bricolage avec asp.net.

J'essaie de montrer une vue partielle comme ceci:

@Html.Partial("_PartialView", new { Action = "Foo" })

Lorsque j'essaye d'accéder à de l'Action avec

//Throws Microsoft.Csharp.RuntimeBinder.RuntimeBinderException
string throwsException = Model.Action; 

un RuntimeBinderExceptionis avec le message

'objet' ne contient pas une définition pour 'Action'

est levée.
La chose étrange est que cette ligne fonctionne très bien:

//This line works fine
string works = ((Type)Model.GetType()).GetProperty("Action").GetValue(Model);

Ce comportement me énigmes un peu et je préfère éviter d'utiliser cette solution de contournement. Aussi je ne pense pas que le problème est les types anonymes être à l'intérieur parce que le modèle MVC pour ASP.NET Projet de VS2013 fonctionne bien:

RuntimeBinderException lors de l'accès dynamique de type anonyme en vue

Donc ce qui s'est passé ici?

Ce qui m'est arrivé; il travaille et puis il s'est juste arrêté, pour aucune bonne raison. Je ne peux pas comprendre pourquoi. Comme évoqué dans un autre commentaire: faiblement typé vues avec les types anonymes travailler dans d'autres lieux, tels que les modèles Visual Studio. La question est de savoir ce qui les rend soudainement cesser de travailler ici.

OriginalL'auteur Kabbalah | 2013-11-12