我有两节课:
class Car<T>
{
public string color { get; set; }
public virtual T features { get; set; }
public virtual void TestDrive();
}
class Toyota : Car<ToyotaFeatures>
{
public override ToyotaFeatures features { get; set; }
public override void TestDrive()
{
//Logic here...
}
}
现在我有一个完整的字符串类名:“MySol.MyProj.Toyota”
我想用我的字符串名实例化一个类,然后运行 TestDrive()。
问题是,当我尝试运行时,Activator.CreateInstance(null, "MySol.MyProj.Toyota");
我无法将其转换为基类并运行 testDrive,因为它期望将 ToyotaFeatures 类传递给它。但我只想运行只有一个字符串类名的 TestDrive() 。
而且我不想将其转换为特定类型。仅用于基本类型,因此它可以根据提供的字符串决定运行哪个 TestDrive()。