Jaki jest najlepszy sposób konwersji ciągu znaków na obiekt typu w .NET?Najlepszy sposób na uzyskanie obiektu typu z łańcucha w .NET
Kwestie do rozważenia:
- Typ może być w innym zespole.
- Zespół typu może jeszcze nie zostać załadowany.
To moja próba, ale to nie rozwiązuje Druga kwestia
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
Adresowanie drugiego przypadku jest trudne. Jak ogólnie wiedzieć, gdzie znajdują się niezaładowane zespoły? W przeciwnym razie zobacz [tę odpowiedź] (http://stackoverflow.com/a/7286354/661933), całkiem dobrze. – nawfal