具有特定值的 C# 对象构造函数
C# Object Constructor with Specific Values
我希望能够只允许自定义对象方法的某些值。想到的第一个例子是 VB msgbox 以及您可以选择的一组按钮所使用的特定值。
MsgBox("Message", vbYesNo,"title")
我如何才能在 C# 中使用自定义对象执行相同的操作?
该方法将根据发送的值搜索特定区域。
object.method(SearchArea1);
object.method(SearchArea2);
我希望能够只键入 SearchArea1 或 SearchArea2(而不是字符串),就像您使用 vbYesNo、vbCancel 一样。
这有意义吗?
您可以定义一个 enum
,然后将其用作 method
的参数
public enum SearchArea
{
SearchArea1,
SearchArea2
}
public void method(SearchArea searchArea)
{
switch (searchArea)
{
case SearchArea.SearchArea1:
// your logic for SearchArea1
break;
case SearchArea.SearchArea2:
// your logic for SearchArea2
break;
default:
throw new ArgumentException("Logic not implemented for provided search area");
}
}
您要找的是 enumeration。
我希望能够只允许自定义对象方法的某些值。想到的第一个例子是 VB msgbox 以及您可以选择的一组按钮所使用的特定值。
MsgBox("Message", vbYesNo,"title")
我如何才能在 C# 中使用自定义对象执行相同的操作?
该方法将根据发送的值搜索特定区域。
object.method(SearchArea1);
object.method(SearchArea2);
我希望能够只键入 SearchArea1 或 SearchArea2(而不是字符串),就像您使用 vbYesNo、vbCancel 一样。
这有意义吗?
您可以定义一个 enum
,然后将其用作 method
public enum SearchArea
{
SearchArea1,
SearchArea2
}
public void method(SearchArea searchArea)
{
switch (searchArea)
{
case SearchArea.SearchArea1:
// your logic for SearchArea1
break;
case SearchArea.SearchArea2:
// your logic for SearchArea2
break;
default:
throw new ArgumentException("Logic not implemented for provided search area");
}
}
您要找的是 enumeration。