Создание специального предупреждения во время компиляцииC#

Место общения программистов C#
Ответить
Anonymous
 Создание специального предупреждения во время компиляции

Сообщение Anonymous »

Я использую VS2008 и хотел бы создать предупреждение/ошибку во время компиляции на основе пользовательских атрибутов свойства (если это возможно).
Есть два случая, которые интересуют я сейчас:

Код: Выделить всё

[MyAttribute (typeof(MyClass)]
Где MyClass должен реализовать интерфейс. В настоящее время я утверждаю это в конструкторе атрибута, однако это не позволяет легко отследить из-за характера трассировки стека:

Код: Выделить всё

public MyAttribute (Type MyClassType)
{
System.Diagnostics.Debug.Assert(
typeof(MyInterface).IsAssignableFrom(MyClassType),
"Editor must implement interface: " + typeof(MyInterface).Name);
}
Второй случай, который меня интересует, — это когда у меня есть тип, определенный в атрибуте, и если этот тип реализует интерфейс, то должно отображаться предупреждение, если другой атрибут отсутствует.< /p>
И.Е. if (MyClass.Implements(SomeInterface) && !Exists(SomeAttibute)) { Создать предупреждение

Код: Выделить всё

[MyAttribute(typeof(MyClass)]
// Comment next line to generate warning
[Foo ("Bar")]
Спасибо!


Подробнее здесь: https://stackoverflow.com/questions/142 ... me-warning
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»