有没有办法在C#中的Ref参数类型和非ref版本之间进行转换

时间:2010-07-27 12:51:57

标签: c#

我正在查看方法的参数并提取类型。我回来(例如)“System.String&”,因为参数是一个out参数。我想知道参数是否是一个字符串 - 但似乎没有一种转换字符串和放大器的方法。对于非参考对手。

有人能指出我正确的方向吗?

谢谢!

1 个答案:

答案 0 :(得分:9)

Type.GetElementType

  

包含的对象的类型或   由当前数组引用,   指针或引用类型,如果是,则返回null   当前Type不是数组或a   指针,或者不通过   引用,或代表一般   类型或类型参数   通用类型的定义或   通用方法。

示例:

var stringRefType = typeof(string).MakeByRefType();
var stringType = stringRefType.GetElementType();
Console.WriteLine(stringType == typeof(string)); // True