В C# атрибут может быть применен к статическому классу, методу или свойству?

Атрибут может быть применен к статическому классу, методу или свойству в c#? Как:

[MyAttribute]
public static MyMethods(string str) ...
6
задан Trott 18 September 2011 в 17:50
поделиться

5 ответов

Здесь действительно есть два вопроса.

Можно ли вообще применить атрибуты к классам, методам или свойствам?

Да, атрибуты могут корректно нацеливаться на любую из этих конструкций (и многие другие)

Являются ли допустимо ли это для конкретного атрибута?

Это зависит от конкретного атрибута. Атрибуты могут контролировать, к каким конструкциям они могут применяться, через перечисление AttributeTargets и, следовательно, делать незаконным применение определенного атрибута к определенной конструкции.

Например, ParamArrayAttribute может указывать только параметры, в то время как ObsoleteAttribute может нацеливаться практически на все (кроме сборок и, возможно, еще одного, которого мне не хватает)

6
ответ дан 10 December 2019 в 00:33
поделиться

Это зависит от атрибута, может ли он применяться к статическому классу. Посмотрите AttributeTarget . Таким образом, это совершенно законно и разрешено украшать статический класс или методы атрибутами.

0
ответ дан 10 December 2019 в 00:33
поделиться

Да, вы можете применить атрибут к статическому классу, методу, свойству.

пример:

[MyAttribute("hello")]
      public static string SayHello(string str)
      {
         return str;
      }
2
ответ дан 10 December 2019 в 00:33
поделиться

Да. Возможно. Просто попробуйте и посмотрите.

Интересно, почему вы в этом сомневаетесь?

1
ответ дан 10 December 2019 в 00:33
поделиться

Да, его можно применить.

1
ответ дан 10 December 2019 в 00:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: