gpt4 book ai didi

.net - Type.MakeByRefType 的反义词是什么

转载 作者:行者123 更新时间:2023-12-04 18:00:00 26 4
gpt4 key购买 nike

Type.MakeByRefType .NET 中的方法返回类型的 by-ref 版本,例如传递 System.Int32 的类型返回表示 System.Int32& 的类型.

但是,如果您已经拥有 System.Int32& , 什么是获取普通老式的机制System.Int32 ?似乎没有相反的方法来删除 by-ref 修饰符。

目前,我已经进行了一个 hack,它可以在没有 & 的情况下重新构建符合程序集限定的名称。在类型名称的末尾,然后加载该类型,但这太脏了......

最佳答案

根据 IsByRef 的文档,您可以使用 Type.GetElementType .
对于 IsArray 的类型也是如此。或 IsPointer true .

var typeInt = typeof(int);
var typeIntRef = typeInt.MakeByRefType();
var typeIntArray = typeInt.MakeArrayType();
var typeIntPointer = typeInt.MakePointerType();

Debug.Assert(typeIntRef.GetElementType() == typeInt);
Debug.Assert(typeIntArray.GetElementType() == typeInt);
Debug.Assert(typeIntPointer.GetElementType() == typeInt);

关于.net - Type.MakeByRefType 的反义词是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/607130/

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