Question

there are attributes in .NET (e.g. ObsoleteAttribute) which are able to prevent compilation or at least throw compile time warnings depending on their configuration.

How to write an attribute that is able to interfere with compilation? Is there a way to do this from outside Microsoft?

Was it helpful?

Solution

Obsolete attribute is "compiler magic" - you can't do something like this on your own without modifying the compiler. However, as always, there are workarounds - e.g. take a look at this and this thread.

OTHER TIPS

Any attributes that exhibit this inside the compiler are special cases. The [Obsolete] behaviour is described in the C# spec (17.4.3), for example.

You could write a custom FxCop rule?

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top