Chcę użyć odbicia, aby ustawić niektóre pola zgodnie z danymi z pliku. Informacje, które mogę posiadać, to TypeName, TypeValue i FieldName.Korzystanie z odbicia, aby ustawić wartość Int32
Chociaż jest to trywialne na zajęciach (Activator.CreateInstance i PropertyInfo.SetValue), jestem nieco zdezorientowany, jeśli chodzi o typy wartości, takie jak Int32, które nie ma żadnych właściwości. Widzę, że IsValueType ma wartość true dla tych typów, ale ponieważ moja TypeValue jest ciągiem znaków (tj. Ciąg TypeValue = "400"), nie wiem, jak to przypisać.
Czy muszę użyć GetMethods()
, aby sprawdzić, czy istnieje metoda .Parse? Czy to coś dla TypeConverter
?
Wiem, że mogłem po prostu kodować niektóre typowe typy wartości (nie ma ich tak wiele) i mieć duże instrukcje switch(), ale zastanawiam się, czy istnieje coś, co automagicznie wykonuje konwersję "Konwertuj ciąg na T" ?
tak jest, TypeDescriptor klasa to magia, której szukałem, dzięki! –