Отражение PropertyInfo.GetValue - PullRequest
       2

Отражение PropertyInfo.GetValue

3 голосов
/ 07 сентября 2011

Я новичок в использовании отражения в C #.Любая помощь приветствуется.

PropertyInfo.GetValue (obj, null) дает мне значение объекта.

Если в базе данных значение столбца равно нулю, я получаю исключение Null

System.Reflection.TargetInvocationException: Исключение было сгенерировано целью вызова.Microsoft.SqlServer.Dts.Pipeline.ColumnIsNullException: столбец имеет нулевое значение.

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

Ответы [ 3 ]

3 голосов
/ 19 октября 2012

Вы должны иметь возможность проверить 'Null' напрямую следующим образом

if(propInfo.GetValue(this, null) != null) {
    }
2 голосов
/ 07 сентября 2011

PropertyInfo.GetValue(obj, null) выполняет метод get свойства для объекта obj. Исключение выдается в этом методе get. Вам нужно посмотреть на метод get свойства, который вы вызываете, и определить, когда и почему выдается исключение.

2 голосов
/ 07 сентября 2011

Получатель этого свойства создает исключение.Он пытается сказать, что свойство не имеет значения.

Вы должны иметь возможность проверить PropertyName_IsNull (где PropertyName - это имя свойства), чтобы проверить, еслисвойство является нулевым первым.Если значение равно null, обработайте его соответствующим образом, в противном случае используйте уже написанный код.

From MSDN :

A _IsNull для каждого свойствавыбранный входной столбец.Это свойство также доступно только для чтения или для чтения / записи в зависимости от типа использования, указанного для столбца.

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