هناك معكوس System.Diagnostics.ConditionalAttribute؟
-
10-07-2019 - |
سؤال
هل هناك سمة مشروطة وليس إلى الوقت الحاضر مماثلة أو ربما وسيلة لاستخدام السمة الشرطية لتشمل فقط وسيلة إذا كان هذا الرمز هو لا م> تعريف؟
وماذا أنا أبحث عن شيء يعمل مثل هذا:
[Conditional("!SILVERLIGHT")]
private void DoStuffThatSilverlightCant() {...}
ومثل هذا الأسلوب لن يتم تضمين إذا كان SILVERLIGHT
رمز موجود.
والسبب في أنني لا أريد أن استخدام #ifdef
بسيط هو حتى أستطيع أن الاستفادة من المترجم إزالة بيانات الاتصال دون الحاجة إلى التفاف كل مكالمة الفردية في #ifdef
.
المحلول
تحديث: فيما يلي مقتطف الشفرة يعمل فقط إذا كان #if في كل داعيا الملف الذي هو ليس من العملي جدا.
#if !SILVERLIGHT
#define NOT_SILVERLIGHT
#endif
[Conditional("NOT_SILVERLIGHT")]
private void DoStuffThatSilverlightCant() {...}
وماذا يمكن عمله ومع ذلك، هو أن يكون تكوين بناء لأي منصة كنت تستخدم هذه الإرادة / تحديد رمز الحاجة (NOT_SILVERLIGHT في هذه الحالة).
لا تنتمي إلى StackOverflow