创建自定义参数选择

时间:2012-06-04 02:17:28

标签: c# parameters

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

方法声明:

myMethod(myOption opt){ ... }

并且调用应该如下:

myMethod(myOption.option1);

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

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

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

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

感谢您的帮助!

1 个答案:

答案 0 :(得分: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;
    }
}