Are there any C# attributes that I can apply to class members, to change the way they appear in the Intellisense listings? This popped into my head when I was building a class with many static constants, and I (briefly!) wanted it to look like an enumeration in Intellisense.
Yes, that's silly.
But it got me thinking - is there any way some crazy programmer can make a class members appear differently in the Intellisense? Make fields look like properties, etc?
For instance, there's the Obsolete
attribute:
[Obsolete("Stop using this. Really. It's old.")]
public int VariableThatIsReallyOld;
Which prefixes the word [obsolete]
to the description of VariableThatIsReallyOld
.
Turns out there also some other attributes at Custom intellisense for server controls? (But the search continues!)
I tend to think that manipulating the comments is a much better proposition.
If you dig into the options available in the comment structure(which the intellisense and compiler understands) like
<example>,<include>,<see>,<seealso>,<exception>
etc, you can pretty get all the functionality sans performance dip introduced by the attribute.There's the DebuggerDisplay attribute described here.