Страница: 1 |
Страница: 1 |
Вопрос: Reflection
Добавлено: 18.11.07 23:05
Автор вопроса: Skywalker | Web-сайт:
проблемы с рефлексией.
Public Class PersControl
Private assemblies() As Assembly
Private pers() As Object
Private types() As Type
Private methods() As MethodInfo
Public Sub New(ByVal str() As String)
ReDim assemblies(str.Length - 1)
ReDim pers(str.Length - 1)
For i As Integer = 0 To str.Length - 1
assemblies(i) = Assembly.LoadFile(str(i))
pers(i) = assemblies(i).CreateInstance("TestNoob.Person")
types(i) = pers(i).GetType()
methods(i) = types(i).GetMethod("Action")
Next
events = New Events
End Sub
End Class
ошибка на строчке
types(i) = pers(i).GetType()
говорит:
System.NullReferenceException was unhandled
Message="Object reference not set to an instance of an object."
не знаю как исправить, вродь делаю также как в найденной статье. причем отлаживал через F11, он успешно загружает сборку, на строке
pers(i) = assemblies(i).CreateInstance("TestNoob.Person")
он заходит в нужный класс TestNoob.Person, вызывает там конструктор, т.е. успещно инициализируеца. Так что должно быть все норм, а увы=(
Ответы
Всего ответов: 3
Номер ответа: 1
Автор ответа:
Viper
ICQ: 249094859
Вопросов: 0
Ответов: 310
Профиль | | #1
Добавлено: 19.11.07 09:02
pers(i) точно не Nothing?
Номер ответа: 2
Автор ответа:
Skywalker
ICQ: 300-70-6пятьЪ
Вопросов: 62
Ответов: 545
Web-сайт:
Профиль | | #2
Добавлено: 19.11.07 13:41
абсолютно точно
Номер ответа: 3
Автор ответа:
Skywalker
ICQ: 300-70-6пятьЪ
Вопросов: 62
Ответов: 545
Web-сайт:
Профиль | | #3
Добавлено: 19.11.07 13:46
ой все нормально, я дурень забыл сделать
ReDim types(str.Length - 1)
ReDim methods(str.Length - 1)
невнимательность меня када нить убьет((
если буду еще проблемы напишу сюда