具有特定值的C#Object构造函数

时间:2015-04-07 15:49:04

标签: c# parameters constructor

我希望能够仅允许某些自定义对象方法的值。想到这一点的第一个例子是VB msgbox以及您可以选择哪组按钮的特定值。

 MsgBox("Message", vbYesNo,"title")

我如何在C#中使用自定义对象执行相同操作?

该方法将根据发送的值搜索特定区域。

 object.method(SearchArea1);
 object.method(SearchArea2);

我希望能够像使用vbYesNo,vbCancel一样输入SearchArea1或SearchArea2(而不是字符串)。

这有意义吗?

2 个答案:

答案 0 :(得分:3)

您可以定义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");
    }
}

答案 1 :(得分:0)

您正在寻找的内容称为enumeration