枚举参数

Enum Parameters

提问人:Christopher Rathermel 提问时间:10/10/2008 更新时间:10/10/2008 访问量:1421

问:

我希望在 vb.net 找到一种方法来做到这一点:

假设你有函数调用 getPaint(Color)。您希望将调用限制为 (red,green,yellow) 的参数值。当他们输入该参数时,会向用户提供可用选项,例如布尔参数的功能。

有什么想法吗?

vb.net 功能编程 功能

评论


答:

2赞 Jorge Ferreira 10/10/2008 #1

希望我没有从你的问题中遗漏什么。使用如下所示的枚举:

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

当你写后跟一个 .(句点) Intellisense 系统将自动建议枚举中声明的三个选项(红色、绿色、黄色)。getPaint(Color

4赞 Darren Kopp 10/10/2008 #2

若要将具有大量值的枚举限制为仅几个值,可以执行以下操作

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