Можно ли инициализировать свойство класса атрибута тем, где оно отмечено? - PullRequest
1 голос
/ 07 сентября 2010

У меня есть атрибут для пометки полей перечисления с именем BusinessDescription.

public enum FailReason
{
   [BusinessDescription(Description="the client cancelled the order")]
   Client = 0,
   [BusinessDescription(Description="vender cancelled", DBValue = 1)]
   Vender = 1,
   [BusinessDescription(Description="other")]
   Other = 2
}

Как видите, атрибуты Client & Other не содержат значений DBValue.Возможно ли, что: если другие разработчики не предоставили DBValue, конструктор назначит ему соответствующее значение?(для клиента значение DBValue будет равно 0; для другого значение DBValue будет равно 2).

1 Ответ

0 голосов
/ 07 сентября 2010

Нет.Цель Attribute - предоставить информацию о цели, к которой он был применен, нет встроенной функциональности, позволяющей атрибуту обнаруживать свою цель или любые данные, связанные с ней.Из того, что я вижу, DBValue равно значению, хранящемуся в каждом из членов перечисления, и вы можете легко использовать это значение и удалить параметр DBValue из конструктора.

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