0

我有一个方法需要一个参数来区分几个不同的场景。我可以只传递一个字符串,并希望我(或将来使用该类的任何人)将使用一个公认的命令。我宁愿有这样的构造:

方法声明:

myMethod(myOption opt){ ... }

并且调用应该如下所示:

myMethod(myOption.option1);

在方法中我应该能够做到这一点:

if (opt == myOption.option1){ ... }

当我传递按钮或图标配置时,我相信这就是消息框的工作方式。

我已经尝试了很多并且搜索了很多,但我没有找到任何东西。也许那是因为我没有找到正确的关键字组合来提供给谷歌。

谢谢你的帮助!

4

1 回答 1

6

如果您有一组有限的可用参数,那么枚举可能是您的方法最合适的参数类型。因此,创建一个枚举作为参数传递;

public enum MyOption
{
    Option1,
    Option2,
    Option3,
}

public void MyMethod(MyOption option)
{
    switch (option)
    {
        case MyOption.Option1:
            // do stuff
            return;
        case MyOption.Option2:
            // do stuff
            return;
        case MyOption.Option3:
            // do stuff
            return;
    }
}
于 2012-06-04T02:19:25.460 回答