如何防止方法在C#.NET中接受2个错误的bool?

Ale*_*eFe 2 c# preprocessor compiler-errors visual-studio

我有一个带有此签名的方法:

public static void DirFillWEx(ComboBox cb, bool dirFill, bool fileFill);
Run Code Online (Sandbox Code Playgroud)

这是放在我自己写的dll库中.我的问题是:有没有办法指示Visual Studio这个方法不能同时接受bool值为false,所以我在编译时得到一个错误(NOT RUNTIME!)?

例如:

DirFillWEx(my_cb, false, true);
DirFillWEx(my_cb, true, true);
DirFillWEx(my_cb, true, false);
Run Code Online (Sandbox Code Playgroud)

但不是

DirFillWEx(my_cb, false, false);
Run Code Online (Sandbox Code Playgroud)

谢谢你们!

Sea*_*ean 10

你可以定义一个枚举:

enum FillMode
{
  Dir,
  File,
  Both
}
Run Code Online (Sandbox Code Playgroud)

然后键入您的方法以获取枚举:

public static void DirFillWEx(ComboBox cb, FillMode fillMode);
Run Code Online (Sandbox Code Playgroud)