Как я могу вызвать метод varargs с использованием отражения? Как это:Invoke varargs method
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
Вызвать метод GetMethod, передающий имя метода и массив типов параметров вашего метода. Для метода varargs тип представляет собой массив объекта. –
@Max 1) 'GetMethod (string, Type [])' проверяет только фиксированные типы параметров, он не создает метод, основанный на типах vararg. 2) Это скорее пустой массив Type, поскольку я не передаю никакие объекты методу. – IllidanS4