Как будто вы пытаетесь получить доступ к объекту, который является null
. Рассмотрим ниже пример:
TypeA objA;
. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException
, что имеет смысл.
См. Также этот пример:
String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
Сделайте что-то вроде этого.
Type type = typeof(Repository<MessageCategory);
string assemblyQualifiedName = type.AssemblyQualifiedName;
получите значение assemblyQualifiedName и вставьте его в поле TypeName. Отметьте тот Тип. GetType (строка), значение передало в, должен быть
Полностью определенное имя блока типа для получения. Посмотрите AssemblyQualifiedName. Если тип находится в в настоящее время выполняющемся блоке или в Mscorlib.dll, достаточно предоставить имя типа, квалифицированное его пространством имен.
Так, это может работать путем передачи в той строке в коде, потому что тот класс находится в в настоящее время выполняющемся блоке (где Вы называете его), где, поскольку ObjectDataSource не.
Скорее всего, тип, который Вы ищете,
MyProject.Repository`1[MyProject.MessageCategory, DataAccess, Version=1.0.0.0, Culture=neutral, PublicKey=null], DataAccess, Version=1.0.0.0, Culture=neutral, PublicKey=null
Даррен,
Огромное спасибо за ваш пост. Я борюсь с этим весь день. Как ни странно, в моем случае мне нужно удвоить квадратные скобки, например, для вашего фрагмента кода:
MyProject.Repository`1 [[MyProject.MessageCategory, DataAccess, Version = 1.0.0.0, Culture = нейтральный, PublicKey = null ]], DataAccess, Версия = 1.0.0.0, Культура = нейтральный, PublicKey = null
Роджер