vb.net и отражение, нужно получить тип из строки имени класса - PullRequest
1 голос
/ 30 декабря 2011

Я создаю инфраструктуру проверки, которая хочет хранить имена полей и проверки по этим именам полей в таблице БД.

Что я хотел сделать, так это, учитывая имя таблицы (в виде строки), использовать отражениесоздать экземпляр метода get для определенных полей (определяемых как свойства с помощью методов Get и Set.

И пример пары get / set в одной оболочке записи.

'------------------------------------------------------------------------------------------------
'---------Get/Set (for field: VC60 
'------------------------------------------------------------------------------------------------
'

Public Property VC60() As String

    Get
        Return _VC60
    End Get


    Set(ByVal value As String)
        _VC60 = value
    End Set

End Property

Я могу использовать

    Dim t As Type = GetType(DB_TableName)

Чтобы получить тип и использовать t.GetMembers для получения методов,

, но мне не хватает того, как получить тип класса по строковому имени класса.

Это консольное приложение, создающее .exe с использованием Visual Basic 2008

Я попытался получить доступ к ссылке на сборку с помощью System.Activator.CreateInstance, но безуспешно.

Ответы [ 2 ]

0 голосов
/ 30 декабря 2011

Если тип в mscorlib, вы можете позвонить Type.GetType(someString).

В противном случае вам нужно найти экземпляр Assembly для типа и вызвать его метод GetType(string).

0 голосов
/ 30 декабря 2011

GetType может принимать строку в качестве аргумента для имени типа.Убедитесь, что вы передаете имя типа, уточненное в пространстве имен, в свой метод GetType и что эта сборка доступна в вашем проекте.В противном случае вы просто получите нулевое возвращаемое значение.

MSDN: Метод GetType (String)

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