枚举参数

时间:2008-10-10 15:12:28

标签: vb.net functional-programming function

我希望在vb.net中找到一种方法:

假设你有函数调用getPaint(Color)。您希望将呼叫限制为(红色,绿色,黄色)参数值。当他们输入该参数时,将为用户提供可用选项,例如布尔参数的运行方式。

有什么想法吗?

2 个答案:

答案 0 :(得分:4)

限制具有大量值的枚举,只需几个,您可以执行以下操作

C#

List<Color> allow = new List<Color> { Color.Red, Color.Green, Color.Yellow };
if (!allow.Contains(color))
{
    throw new ArguementException("Invalid Color");
}

VB

Dim allow As New List(Of Color)()
allow.Add(Color.Red)
allow.Add(Color.Green)
allow.Add(Color.Yellow)
If Not allow.Contains(color) Then
Throw New ArguementException("Invalid Color")
End If

答案 1 :(得分:2)

希望我不会错过你的问题。使用这样的枚举:

Enum Color
    Red = 1
    Green = 2
    Yellow = 3
End Enum

当您写下getPaint(Color后跟一个。 (期间)智能感知系统将自动建议枚举中声明的三个选项(红色,绿色,黄色)。