0

服务合同中的 WCF 条件操作

#if SILVERLIGHT // <------------------------------ ( 1 )
// Silverlight Operations
#else // <------------------------------ ( 2 )
// NON Silverlight Operations
#endif

标记#1可以转换为

[Conditional ( "SILVERLIGHT" )]

如何转换Mark #2 ( ELSECondition [ NON Silverlight ] )

4

2 回答 2

2

ConditionalAttribute有一些#if没有的限制。也就是说,该方法只能返回 void 并且您不能提供否定版本。

#if只是省略了代码,但Conditional告诉编译器 noop 调用它。

于 2012-08-12T22:33:43.047 回答
2

ConditionalAttributea 不同C# Preprocessor Directives。因此,试图用另一个替换一个是不合适的。

请参阅此相关答案:https ://stackoverflow.com/a/3788719/347172

于 2012-08-12T22:48:15.820 回答