Skip to main content

Posts

Showing posts from January 23, 2011

ObsoleteAttribute and the Expression Compiler

I was going to post this as a question over at SO, but as I got to the end I realised a blog would probably be better (apart from the fact that only five people will read it!).The project I'm working uses runtime objects that are produced with configuration-driven delegates built using Expression trees.I'm doing a big functionality merge at the moment and have reached a class that, because of another that has grown, is now obsolete. So I want to make it 'properly' obsolete (generate compiler errors), go through the static codebase and change all the references.The problem is that the class library is used, through Expressions, by a few other apps so I can't yet get rid of the class completely - I'll perhaps look at farming that job off to somebody else.So I thought I'd just check whether the expression compiler honours the ObsoleteAttribute when marked as an error, and it doesn't:[TestClass]
publicclassUnitTest1
{
[Obsolete("obsolete", true)]
publ…