Могу ли я просмотреть динамическую структуру в .Net? - PullRequest
1 голос
/ 14 марта 2011

Я только что наткнулся на интересную ошибку, вызванную неверной конфигурацией в моем приложении, и это вызвало этот вопрос.

Ошибка в вопросе

Я работаю надвеб-приложение ASP.Net MVC 3, и я случайно перетащил файл web.config в себя из обозревателя решений, что привело к следующему в web.config:

<appSettings>
    <add key="ClientValidationEnabled" value="true"/>
    <add key="UnobtrusiveJavaScriptEnabled" value="trueD:\Projects\app_base\src\WebApp.UI\Web.config"/>
</appSettings>

То, что происходило в этой конфигурациивызвал повреждение объекта ViewContext (и это правильно);Я получил следующее, когда среда выполнения MVC пыталась получить к нему доступ (это из ближайшего окна)

? ViewContext.ClientValidationEnabled
    'ViewContext.ClientValidationEnabled' threw an exception of type 'System.FormatException'
    base {System.SystemException}: {"String was not recognized as a valid Boolean."}

Мой вопрос

Есть ли способ посмотреть насодержимое памяти для dynamic в DLR?В этом случае я хотел бы видеть содержимое ячейки памяти, на которую ссылается синтаксический анализ ClientValidationEnabled, но каждый раз, когда я пытался получить доступ к значению, среда выполнения автоматически пыталась поместить его в bool.Я дошел до

((dynamic)((dynamic)this).ViewContext).ClientValidationEnabled

, прежде чем бросил пытаться найти способ QuickWatch сделать это.

...