How to write a .NET attribute which does just like ObsoleteAttribute...

  • Thread starter Thread starter AshokG
  • Start date Start date
A

AshokG

Hi,

In .NET there is attribute named ObsoleteAttribute which is derived from
System.Attribute Class. This attribute when applied to a target (class or
method etc.) gives a compiler warning/error. I know we can write our own
attributes by inheriting the System.Attribute but I want to make it give
compiler warning or error when it is applied on the defined attribute
target.

How can we write such an attributes?

Regards,
Ashok G
 
You can't... ObsoleteAttribute is handled as a special-case by the
compiler, not by anything extensible.

What do you want to check, in particular? There may be other ways of
doing it...

Marc
 
Hi,

In .NET there is attribute named ObsoleteAttribute which is derived from
System.Attribute Class. This attribute when applied to a target (class or
method etc.) gives a compiler warning/error. I know we can write our own
attributes by inheriting the System.Attribute but I want to  make it give
compiler warning or error when it is applied on the defined attribute
target.

How can we write such an attributes?

Regards,
Ashok G

Hi,

AFAIK there is no way of doing that. The compiler knows a given number
of attributes and have CODED actions for them.
You would need to write a new compiler :)
 
Hi Ashok,

I know you can designate code as 'deprecated'.
Simply deprecate the attribute and each usage of it
will probally result in a compiler warning.

(not sure 100% because i have not tried this yet)

Let me know if it works!

Chazz


AshokG schreef:
 
I think I can do something with AST (Abstract Syntax Tree) of the .NET
framework. I don't have complete onfo on .NET's AST.

Regards,
Ashok G
 
Back
Top