我需要检查大量控件是否包含值或它们是否留空。
我希望做这样的事情:
public static bool IsObjectEmpty(Control ctrlThis)
{
switch (ctrlThis)
{
case ctrlThis is TextBox:
TextBox txtThis = (TextBox)ctrlThis;
if (txtThis.Text == "" || txtThis.Text == null)
{ return false; }
break;
case (ctrlThis is ComboBox):
ComboBox cboThis = (ComboBox)ctrlThis;
if (cboThis.SelectedValue == -1)
{ return false; }
break;
case (ctrlThis is NumericUpDown):
NumericUpDown numThis = (NumericUpDown)ctrlThis;
if (numThis.Value == 0)
{ return false; }
break;
etc etc...
但这不会编译:
Error 3 A switch expression or case label must be a bool, char, string,
integral, enum, or corresponding nullable type
有没有办法在 switch 语句中做到这一点,或者我只需要做一些 if / else if 的东西?谷歌和 StackOverflow 搜索并没有什么用处。