c# - 使用 GetType() 进行转换

标签 c# reflection casting

是否可以将对象转换为从 GetType() 返回的类型?我想要一个通用方法,它可以接受一个对象(对于匿名类型),然后返回一个转换为匿名类型的对象。我一直在考虑使用 LCG DynamicMethod 在容器类上构建一个方法,但我无法确切地弄清楚那会是什么样子。使用 GetType() 方法进行转换的想法是能够获取匿名类型并将对象转换为其实际类型,而无需实际知道类型。

总体目标是将匿名类型的对象粘贴到容器中,然后我可以在方法之间共享和传递。

最佳答案

我想不出您为什么要强制转换为 GetType(),因为如果不知道编译时的类型,您将无法对结果做任何有用的事情。

也许您正在寻找的是能够转换。如果是这种情况,以下内容应该对您有用:

object input = GetSomeInput();
object result = Convert.ChangeType(input, someOtherObject.GetType());

我们在从注册表中读取所有存储为字符串的值时使用它,然后使用反射将它们填充到属性中。

关于c# - 使用 GetType() 进行转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/555462/

相关文章:

c# - 计算百分比时抛出 OverflowException

c# - WCF 配置地址过滤器不匹配

java - GenericArrayType 接口(interface)的实例

c++ - 直接type cast derived到基类调用重载函数

c# - 无法使用 C# 将带 [] 的索引应用于类型为 'System.Array' 的表达式

c# - 重复的数据表列名

haskell - 一般地找出值的类型是否属于类型类

sqlite - SQLAlchemy、反射、不同的后端和表/列不区分大小写

java - 类型转换可以作为适配器设计模式的一个例子吗?

vb.net - 如何在VB.NET中从Object转换为Integer?