是否有一个类似的条件不存在属性,或者可能有一种方法使用条件属性来仅包含未定义符号的方法?
我要找的是这样的东西:
[Conditional("!SILVERLIGHT")]
private void DoStuffThatSilverlightCant() {...}
如果符号
SILVERLIGHT
确实存在,则该方法将不被包含。我不想使用简单的
#ifdef
是为了利用编译器删除调用语句的优势,而不必将每个单独的调用包装在#ifdef
中。 最佳答案
更新:
下面的代码片段仅在每个调用文件中都有if时才起作用,这不太实际。
#if !SILVERLIGHT
#define NOT_SILVERLIGHT
#endif
[Conditional("NOT_SILVERLIGHT")]
private void DoStuffThatSilverlightCant() {...}
但是,可以做的是为您使用的任何平台提供构建配置,该平台将/定义所需的符号(在这种情况下不是silverlight)。