Запретить атрибут метода, если используется другой атрибут

1

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

Например, я хотел бы исправить ошибку времени компиляции или предупреждение, если атрибут B применяется к методу, в котором атрибут A уже применен:

public class AttributeA : Attribute{}
public class AttributeB : Attribute{}

[A]
[B] // generates error or warning because of A
public void Foobar(){}

Я не думаю, что это возможно, но это стоит вопроса.

Теги:
reflection
methods
attributes

1 ответ

0
Лучший ответ

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню