.NET中属性的限制值

Jas*_*son 2 .net asp.net intellisense enums properties

我知道这可能是一个菜鸟问题,但它正在惹恼我.

假设我有一个用户控件,我在.aspx页面中引用:

<uc:somecontrol runat="server" id="uc1" property1="red" />
Run Code Online (Sandbox Code Playgroud)

我怎么做到这一点,当在VS05中,intellisense会为property1显示"red","green","blue"等选项?类似于您希望在文本框上的模式中选择"文本","多行"和"密码"的方式.我正在使用VB.

谢谢!

Rex*_*x M 14

使您的属性成为枚举而不是字符串.

Enum ControlColor
Red = 1
Blue = 2
Green = 3
End Enum
Run Code Online (Sandbox Code Playgroud)

Public Property MyProperty As ControlColor
Run Code Online (Sandbox Code Playgroud)


Max*_*ing 5

Rex说:在新文件中定义枚举:

Public Enum ControlColor
    Red = 1
    Blue = 2
    Green = 3
End Enum
Run Code Online (Sandbox Code Playgroud)

然后在你的控制中,像这样定义你的属性(我的VB语法生锈,但我认为这是正确的):

Private _color As ControlColor

Public Property [Color] As ControlColor
    Get
        Return _color
    End Get
    Set (ByVal value As ControlColor)
        _color = value
    End Set
End Property
Run Code Online (Sandbox Code Playgroud)