Синтаксис RangeValidator для корпоративной библиотеки - PullRequest
2 голосов
/ 08 января 2010

Я пытаюсь использовать атрибут RangeValidator для Enterprise Library, чтобы проверить, что десятичное значение больше нуля:

<RangeValidator(GetType(Decimal), "0.00", RangeBoundaryType.Exclusive, "1", RangeBoundaryType.Ignore, "MyMessage", "", Nothing, False, "", "")> _
    Public Property Holding() As Decimal
        Get
            Return _Holding
        End Get
        Set(ByVal value As Decimal)
            _Holding = value
        End Set
    End Property

Однако я получаю ошибку компиляции

Не удалось разрешить перегрузку, поскольку ни один из доступных «New» не принимает это количество аргументов.

Насколько я вижу, я правильно использую перегрузку. Это работает нормально, если я удаляю параметры, связанные с messageTemplate, но я хочу иметь возможность указать собственное сообщение.

Кто-нибудь испытывал эту проблему и преодолел ее?

1 Ответ

4 голосов
/ 08 января 2010

Вам необходимо указать шаблон сообщения как часть именованных параметров:

<RangeValidator(GetType(Decimal), "0.00", RangeBoundaryType.Inclusive, "0.00", RangeBoundaryType.Ignore, MessageTemplate := "Value must be greater than 0.")> _


Просматривая документацию, убедитесь, что вы смотрите на класс RangeValidatorAttribute, а не на класс RangeValidator.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...