【发布时间】:2011-03-17 21:19:08
【问题描述】:
我正在尝试将Type.InvokeMember(String, BindingFlags, Binder, Object, array[]) 与默认活页夹一起使用。
对象数组中目标方法的参数之一是设置为 null 的引用类型。我想要我正在调用的方法来实例化引用类型,以便我可以继续使用它。例如:
using System;
namespace ConsoleApplication6
{
class A
{
public void GetReferenceType(object o)
{
o = new object();
}
}
class Program
{
static void Main(string[] args)
{
object o = null;
A a = new A();
Type t = typeof(A);
t.InvokeMember("GetReferenceType", System.Reflection.BindingFlags.InvokeMethod, null, a, new object[] { o });
if (o == null)
{
throw new NullReferenceException();
}
else
{
//do something with o;
}
}
}
}
解决方法是给A一个属性并通过它访问o。
在不改变A的情况下,还有其他方法吗?
【问题讨论】:
标签: c# .net reflection