我使用以下代码:
Type type = info.ParameterType;
object activatedType = Activator.CreateInstance(type);
arguments[info.Position] = activatedType;
问题是type
可能最终成为某个类型的指针引用,例如System.String&
(请注意&),那么如何才能获得{{1}的基础类型}?
基本上,如何将未知类型取消引用其基础类型?
答案 0 :(得分:4)
if(type.IsByRef)
{
type = type.GetElementType();
}
如果您想从其他类型获取引用类型,可以使用MakeByRefType:
Type stringRefType = typeof(string).MakeByRefType();