Я хочу иметь возможность получить фактический тип строкового значения, которое я получаю каким-то образом (например, из базы данных), чтобы я мог использовать этот тип в универсальном методе, например DoSomething<Type>()
.
В моем проекте, У меня есть классы Plane
и Car
, расположенные в MyCompany.MySolution.Vehicle
пространстве имен, например,
- MyCompany.MySolution.Vehicle
|+Interfaces
|-Implementations
|-Car
|-Plane
Я получаю тип транспортного средства в виде строки.Итак, я получаю строку «Car», что означает, что мне нужно получить Type Car
, чтобы я мог использовать этот тип в универсальном методе для его регистрации следующим образом:
MyFactory.Register<Car>(carId)
Итак, MyFactory является статическим классомВызов метода Register ().
Аналогичным образом я получаю строку «Плоскость», что означает, что мне нужно получить тип Plane
, чтобы я мог использовать этот тип в общем методе выше для регистрации плоскости.
Я пытался использовать что-то вроде
MyFactory.Register<Type.GetType("MyCompany.MySolution.Vehicle.Implementations.Car")>(carId)
, но это не работает.