gpt4 book ai didi

c# - 如何将 ref 类型转换为其等效的 "non ref"?

转载 作者:行者123 更新时间:2023-11-30 15:59:03 28 4
gpt4 key购买 nike

假设我有以下内容:

var t = typeof(Foo).MakeByRefType();

有没有办法将结果转换回typeof(Foo)

老实说,我发现的唯一方法是:

var t = typeof(Foo).MakeByRefType();
string name = t.Name.Trim('&');
string asmQualified = t.AssemblyQualifiedName.Replace(t.Name, name);
var v = Type.GetType(asmQualified);

我试过的其他方法好像都不行:

  1. 有没有更好的方法来做到这一点?
  2. 如果这是唯一的方法,是否存在失败的情况(可能是动态生成的程序集)?

最佳答案

这就是GetElementType()是为了。尽管名称如此,但它不仅可以获取数组类型的元素,还可以获取指针或引用类型引用的类型。

关于c# - 如何将 ref 类型转换为其等效的 "non ref"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42211482/

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