недостающее свойство в динамике трактуется по-разному в asp.net? - PullRequest
2 голосов
/ 03 мая 2011

Я смотрю на Робс Ламантин .После преобразования json-миграций в динамические объекты он проверяет, существует ли такое свойство:

            if (col.nullable != null) {
                if (col.nullable) {
                    sb.Append(" NULL ");
                } else {
                    sb.Append(" NOT NULL ");
                }
            } else {
                sb.Append(" NULL ");
            }

Когда я пытаюсь скомпилировать это в приложение wpf, в первой строке я получаю исключение:

'System.Dynamic.ExpandoObject' не содержит определения для 'nullable'

Итак, почему это работает при использовании в настройке asp.net?Или это как-то связано с WebMatrix?

1 Ответ

1 голос
/ 10 июня 2011

Проблема в том, что веб-матрица использует свой собственный динамический тип, а не экспандо.В случае расширения, если значение никогда не устанавливалось, оно будет выдавать исключение, а не возвращать ноль.Я не уверен, что json fx позволит вам использовать другое «expando», подобное этому объекту

.net Реализация DynamicObject, которая возвращает null для отсутствующих свойств, а не RunTimeBinderException

Другой вариант - перехватить исключение для члена, связывающего сообщения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...