如果我有一个未知的指针引用某种类型,我如何获得底层的特定类型?

时间:2013-01-31 18:45:42

标签: c# .net wcf pointers types

我使用以下代码:

Type type = info.ParameterType;
object activatedType = Activator.CreateInstance(type);
arguments[info.Position] = activatedType;

问题是type可能最终成为某个类型的指针引用,例如System.String&(请注意&),那么如何才能获得{{1}的基础类型}?

基本上,如何将未知类型取消引用其基础类型?

1 个答案:

答案 0 :(得分:4)

if(type.IsByRef)
{
   type = type.GetElementType();
}

如果您想从其他类型获取引用类型,可以使用MakeByRefType

Type stringRefType = typeof(string).MakeByRefType();