在 .NET 中将字符串转换为 Type 对象的最佳方法是什么?
需要考虑的问题:
- 该类型可能在不同的程序集中。
- 该类型的程序集可能尚未加载。
这是我的尝试,但它没有解决第二个问题
Public Function FindType(ByVal name As String) As Type
Dim base As Type
base = Reflection.Assembly.GetEntryAssembly.GetType(name, False, True)
If base IsNot Nothing Then Return base
base = Reflection.Assembly.GetExecutingAssembly.GetType(name, False, True)
If base IsNot Nothing Then Return base
For Each assembly As Reflection.Assembly In _
AppDomain.CurrentDomain.GetAssemblies
base = assembly.GetType(name, False, True)
If base IsNot Nothing Then Return base
Next
Return Nothing
End Function