是否存在System.Diagnostics.ConditionalAttribute的反转?

Moj*_*ter 7 c# attributes symbols visual-studio

是否有类似的条件,不存在的属性,或者可能使用条件属性只包括方法,如果该符号的方式没有确定?

我正在寻找的东西是这样的:

[Conditional("!SILVERLIGHT")]
private void DoStuffThatSilverlightCant() {...}
Run Code Online (Sandbox Code Playgroud)

如果符号SILVERLIGHT确实存在,则不包括该方法.

我不想使用简单的原因#ifdef是我可以利用编译器删除调用语句而不必将每个单独的调用包装在一个#ifdef.

Coi*_*oin 8

更新:以下代码片段仅在#if存在于每个不太实用的调用文件中时才有效.

#if !SILVERLIGHT
#define NOT_SILVERLIGHT
#endif

[Conditional("NOT_SILVERLIGHT")]
private void DoStuffThatSilverlightCant() {...}
Run Code Online (Sandbox Code Playgroud)

然而,可以做的是为您正在使用的任何平台构建配置/定义所需的符号(在这种情况下为NOT_SILVERLIGHT).