我有一个方法需要一个参数来区分几个不同的场景。我可以传递一个字符串,并希望我(或将来将使用该类的任何人)将使用其中一个已识别的命令。我宁愿有这样的结构:
方法声明:
myMethod(myOption opt){ ... }
并且调用应该如下:
myMethod(myOption.option1);
在方法中我应该能够做到这一点:
if (opt == myOption.option1){ ... }
我相信当传递按钮或图标配置时,这就是消息框的工作方式。
我经常尝试并搜索了很多,但我没有找到任何东西。也许这是因为我没有找到正确的关键字组合来提供谷歌。
感谢您的帮助!
答案 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;
}
}