Предельные значения для свойств в .NET - PullRequest
2 голосов
/ 05 февраля 2009

Я знаю, что это может быть нубский вопрос, но это чертовски неприятно для меня.

Допустим, у меня есть пользовательский элемент управления, на который я ссылаюсь на странице .aspx:

<uc:somecontrol runat="server" id="uc1" property1="red" />

как мне сделать так, чтобы в VS05 intellisense показывал опции "красный", "зеленый", "синий" для property1? Аналогично тому, когда вы хотите выбирать между «текст», «многострочный» и «пароль» для режимов в текстовом поле. Я использую VB.

Спасибо!

Ответы [ 2 ]

14 голосов
/ 05 февраля 2009

Сделайте вашу собственность перечислением вместо строки.

Enum ControlColor
Red = 1
Blue = 2
Green = 3
End Enum

и

Public Property MyProperty As ControlColor
5 голосов
/ 05 февраля 2009

Определите перечисление в новом файле, как сказал Рекс:

Public Enum ControlColor
    Red = 1
    Blue = 2
    Green = 3
End Enum

А затем в вашем контроле определите ваше свойство следующим образом (мой синтаксис 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
...