gpt4 book ai didi

c# - 将 System.Type 转换为 T 参数

转载 作者:行者123 更新时间:2023-11-30 13:48:41 24 4
gpt4 key购买 nike

我有 System.Type一个对象,我想将它用作通用函数的参数:JsonConvert.DeserializeObject<T>()

当然JsonConvert.DesierializeObject<theType>()不起作用..我似乎需要类的名称,但我不确定如何从类型中获取它。

有没有办法将类型转换回 T 以便我可以调用该函数?

最佳答案

我猜 DeserializeObject 是一个静态方法?尝试使用反射:

var methodInfo = typeof(JsonConverter).GetMethod("DeserializeObject", System.Reflection.BindingFlags.Static | BindingFlags.Public);
var genericArguments = new Type[] { theType };
var genericMethodInfo = methodInfo.MakeGenericMethod(genericArguments );
var result = genericMethodInfo.Invoke(null, null);

如果 DeserializeObject 接受一些参数,然后将它们传递给最后一行 Invoke 方法的第二个参数...

关于c# - 将 System.Type 转换为 T 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11804759/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com