Какая польза от атрибутов в интерфейсе? - PullRequest
4 голосов
/ 26 февраля 2009

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

Могу ли я удалить эти атрибуты из интерфейса? Атрибуты интерфейса не наследуются при реализации интерфейса, верно?

Ответы [ 3 ]

8 голосов
/ 26 февраля 2009

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

Если они не используются в вашем случае , то удалите их. В противном случае, оставьте их в покое; -p

0 голосов
/ 27 августа 2013

Я согласен, что это довольно раздражает, когда атрибуты класса автоматически копируются в извлеченный интерфейс. На TeamCity youTrack есть открытый вопрос. Интересно, что он был открыт 7 (семь !!!) лет назад и имеет только 3 голоса (включая меня).

Upvote, если вы согласны:
Извлечение интерфейса перемещает атрибуты свойств класса в интерфейс

0 голосов
/ 26 февраля 2009

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

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