У меня есть веб-проект asp.net, который ссылается на проект домена.
В рамках веб-проекта я хочу создать экземпляр класса из проекта домена, используя отражение, но я всегда получаю нулевое значение (Nothing, в VB).
ПРИМЕЧАНИЕ. Я использую неполное имя класса и надеялся, что поиск будет выполнен, поскольку MSDN, кажется, указывает (на уровне сборки)
Dim myType as Type = Type.GetType ("MetricEntity")
'// ничего не дает (Null)
'// lets try this
Dim WasFound As Boolean = False
For Each ObjectType In Me.GetType.Assembly.GetExportedTypes
If ObjectType.Name = theClassName Then
WasFound = True
Exit For
End If
Next
Ответ на этот вопрос, как правило, выглядит следующим образом:
Dim myType as Type = Type.GetType("System.Linq.Enumerable, System.Core, "
+ "Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"));
Но я не вижу логики необходимости жестко кодировать номер версии (или помещать его в файл конфигурации) .... так что произойдет, если версия изменится, и я забуду обновить ее в коде отражения. .... возможно ли сделать GetType, игнорируя Version, Culture и PublicKeyToken?