Is there an inverse of System.Diagnostics.ConditionalAttribute?

Is there an analogous conditional-not-present attribute or maybe a way to use the Conditional attribute to only include a method if that symbol is not defined?

What I'm looking for is something that works like this:

[Conditional("!SILVERLIGHT")]
private void DoStuffThatSilverlightCant() {...}

Such that the method will not be included if the symbol SILVERLIGHT does exist.

The reason I don't want to use a simple #ifdef is so that I can take advantage of the compiler removing the calling statements without having to wrap every individual call in an #ifdef.

Answers


Update: The following code snippet only works if the #if is in every calling file which is not very practical.

#if !SILVERLIGHT
#define NOT_SILVERLIGHT
#endif

[Conditional("NOT_SILVERLIGHT")]
private void DoStuffThatSilverlightCant() {...}

What could be done however, is to have a build configuration for whatever platform you are using that will /define the needed symbol (NOT_SILVERLIGHT in that case).


Need Your Help

How to handle included links in PHP?

php include

I want to include a menu in my php pages. Like this:

bash compound commands with pipes

linux bash

How explicitly point to bash what is the priority of command

About UNIX Resources Network

Original, collect and organize Developers related documents, information and materials, contains jQuery, Html, CSS, MySQL, .NET, ASP.NET, SQL, objective-c, iPhone, Ruby on Rails, C, SQL Server, Ruby, Arrays, Regex, ASP.NET MVC, WPF, XML, Ajax, DataBase, and so on.