想象一下,我有以下类调用与REF/OUT参数,方法是什么?我知道的基本知识:如何使用反射
var type = typeof(Cow);
var tryParse = type.GetMethod("TryParse");
var toParse = "...";
var result = (bool)tryParse.Invoke(null, /* what are the args? */);
想象一下,我有以下类调用与REF/OUT参数,方法是什么?我知道的基本知识:如何使用反射
var type = typeof(Cow);
var tryParse = type.GetMethod("TryParse");
var toParse = "...";
var result = (bool)tryParse.Invoke(null, /* what are the args? */);
你可以做这样的事情:
static void Main(string[] args)
{
var method = typeof (Cow).GetMethod("TryParse");
var cow = new Cow();
var inputParams = new object[] {"cow string", cow};
method.Invoke(null, inputParams);
}
class Cow
{
public static bool TryParse(string s, out Cow cow)
{
cow = null;
Console.WriteLine("TryParse is called!");
return false;
}
}
请注意:一)你不需要一个'牛'实例来调用TryParse方法,你可以传递一个null值。 b)解析的'牛'在inputParams [1]中返回,上面代码中的'牛'保持不变。 – 2010-02-21 12:28:35
因此,这就是答案,全方位+1。 – 2013-10-18 12:15:38
这正是我要问,甚至下降到方法名的问题:d – 2013-10-18 12:15:06