c# - 从类型名称转换为类型作为字符串

标签 c# .net reflection casting

我有一个现有的基类型,我想将它转换为基于类型名称的派生类型作为字符串,所以像这样:

public void DoStuffInDerivedType(string derivedName) {
   (base as Type.GetType(derivedName)).DoThisThing();
}

我很确定这无法完成,但可以肯定地知道。谢谢

编辑:我知道我可以使用类型名称的反射来构造对象,但我想使用现有对象。而且我也知道这通常是个坏主意。但是我想将其用于 SpecFlow BDD 功能。

最佳答案

我会重复你可能不需要这样做的建议,但因为我以前做过这个操作:

Convert.ChangeType(ItemToCast, Type.GetType(stringNameOfType)))

应该适合你。

关于c# - 从类型名称转换为类型作为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36067071/

相关文章:

c# - 如何检测 WPF 窗口的首次显示?

c# - 检查 Type 或实例是否实现 IEnumerable 而不管类型 T

c# - PInvoke - 如何表示来自 COM 接口(interface)的字段

c# - 通过 Interop 调用返回结构实例的方法

c# - 进行单向序列化的正确方法

.net - .NET中的依赖图

generics - 在构造函数参数中使用泛型数组激活泛型类型的问题

java - 在此示例中使用反射是否合适

c# - 程序集绑定(bind)重定向 : How and Why?

c# - FindAll 和 Select 有什么区别?