我如何可以調用使用反射一個可變參數的方法?像這樣的:調用可變參數方法
public static void ArgsMethod(__arglist)
{
ArgIterator ai = new ArgIterator(__arglist);
while(ai.GetRemainingCount() > 0)
{
Console.WriteLine(TypedReference.ToObject(ai.GetNextArg()));
}
}
typeof(Program).GetMethod("ArgsMethod").Invoke(null,new object[0])
拋出NotSupportedException異常。
我懷疑你需要'TypedReference'。 – SLaks 2014-12-05 16:05:36
調用傳遞方法名稱和方法參數類型數組的GetMethod。對於可變參數方法,類型是一個Object數組。 – 2014-12-05 16:06:38
@Max 1)'GetMethod(字符串,類型[])'僅檢查固定的參數類型,它不創建基於可變參數類型的方法。 2)它寧願是一個空的Type數組,因爲我不會傳遞任何對象給方法。 – IllidanS4 2014-12-05 16:14:31