Как создать метод, который имеет необязательные параметры и параметры вместе?C# 4.0, необязательные параметры и параметры не работают вместе
static void Main(string[] args)
{
TestOptional("A",C: "D", "E");//this will not build
TestOptional("A",C: "D"); //this does work , but i can only set 1 param
Console.ReadLine();
}
public static void TestOptional(string A, int B = 0, params string[] C)
{
Console.WriteLine(A);
Console.WriteLine(B);
Console.WriteLine(C.Count());
}
Да, это единственный способ добиться того, что ОП спрашивает, что я знаю. Я не думаю, что это обязательно плохо. Просто создает немного больше кода, но это достаточно просто, чтобы не путать. – jlafay
Кроме того, это не работает для атрибутов информации метода Caller, таких как '[CallerMemberName]'. –
Возможно, см. Мой ответ ниже – katbyte