创建自定义参数选择

Jan*_*Jan 0 c# parameters

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

方法声明:

myMethod(myOption opt){ ... }
Run Code Online (Sandbox Code Playgroud)

这个电话应该是这样的:

myMethod(myOption.option1);
Run Code Online (Sandbox Code Playgroud)

在方法中我应该能够这样做:

if (opt == myOption.option1){ ... }
Run Code Online (Sandbox Code Playgroud)

当我传递按钮或图标配置时,我相信这是Message Box的工作方式.

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

谢谢你的帮助!

RJ *_*han 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;
    }
}
Run Code Online (Sandbox Code Playgroud)