Метод C # с использованием ключевого слова Params - PullRequest
3 голосов
/ 24 февраля 2010

Пример метода, который использует ключевое слово params: String.Format("", foo, bar, baz)

Но как бы я сделал метод, который принимает массив перечислений, например так:

class MyClass
{
    public enum Foo { Bar, Baz }

    public static void MyMethod(params enum[] Foo) {}

    public static void TestMethod()
    {
        MyMethod();
        MyMethod(Foo.Bar);
        MyMethod(Foo.Baz);
        MyMethod(Foo.Bar, Foo.Baz);
    }
}

Ответы [ 3 ]

10 голосов
/ 24 февраля 2010
public static void MyMethod(params Foo[] values) { }
3 голосов
/ 24 февраля 2010

Err..try:

public static void MyMethod(params Foo[] foo) { }
3 голосов
/ 24 февраля 2010

Попробуйте вместо этого

class MyClass
{
public enum Foo { Bar, Baz }

public static void MyMethod(params Foo[] foos) {}

public static void TestMethod()
{
    MyMethod();
    MyMethod(Foo.Bar);
    MyMethod(Foo.Baz);
    MyMethod(Foo.Bar, Foo.Baz);
}

}

...