想象一下,我有以下類調用與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