繁体   English   中英

从类型名称转换为字符串

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM