7

類似の conditional-not-present 属性がありますか、それともそのシンボルが定義されていない場合にのみメソッドを含めるために Conditional 属性を使用する方法はありますか?

私が探しているのは、次のように機能するものです。

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

シンボルが存在する場合、メソッドは含まれSILVERLIGHTません。

シンプルを使用したくない理由は#ifdef、個々の呼び出しを#ifdef.

4

1 に答える 1

8

更新: 次のコード スニペットは、#if がすべての呼び出しファイルにある場合にのみ機能しますが、これはあまり実用的ではありません。

#if !SILVERLIGHT
#define NOT_SILVERLIGHT
#endif

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

ただし、実行できることは、必要なシンボル (その場合は NOT_SILVERLIGHT) を /define する、使用しているプラ​​ットフォームのビルド構成を用意することです。

于 2008-11-24T21:58:28.287 に答える