[英]Cast to a type from the type name as a string
我有一个现有的基本类型,我想根据类型的名称将其强制转换为派生类型,例如字符串:
public void DoStuffInDerivedType(string derivedName) {
(base as Type.GetType(derivedName)).DoThisThing();
}
我很确定这是不可能完成的,但一定会知道的。 谢谢
编辑:我知道我可以使用类型名称的反射来构造对象,但我想使用现有的对象。 我也知道这通常是个坏主意。 但是我想将此用于SpecFlow BDD功能。
我会重复建议您可能不需要这样做,但是因为我之前已经做过此操作:
Convert.ChangeType(ItemToCast, Type.GetType(stringNameOfType)))
应该为您工作。
我认为您无需将其转换为派生类型。 您应该能够将其强制转换为基本类型,并使用共享接口(无论是基类还是文字接口)来执行所需的操作。
如果不是,请考虑将行为添加为接口要求,以便您可以这样做。
最后:您需要这样做的一种可能性是,如果您要覆盖演员表...在这种情况下,我几乎可以肯定,如果没有一些沉重的负担,您将无法做到这一点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.