ماذا #if! use_net11 باستخدام system.runtime.interopservices.comtypes ؛ #endif يعني؟
-
01-10-2019 - |
سؤال
ماذا يعني الكود التالي وماذا يفعل؟ هل هو مطلوب حقا؟
#if !USING_NET11
using System.Runtime.InteropServices.ComTypes;
#endif
في ملف مشروعي ، قمت بتطبيق التقاط كاميرا الويب باستخدام Wrapper Dshownet. كان الكود أعلاه موجودًا في ملف form1.cs.
المحلول
هذا يعني انه:
using System.Runtime.InteropServices.ComTypes;
سيتم تجميعها فقط في التجميع إذا كان الرمز باستخدام_net11 خطأ.
منذ أن تمت إضافة System.Runtime.InterOpservices.com في .NET 2.0 ، فإن هذا التوجيه يعني أن الكود سيظل تجميعًا مقابل .NET 1.1 نظرًا لأن المرجع الجديد لن يتم تجميعه.
نصائح أخرى
ال System.Runtime.InteropServices.ComType
تم تقديمه في .NET Framework الإصدار 2.0. يبدو أن الكود يحاول أن يكون متوافقًا مع إصدار 1.1 من الإطار من خلال الإعلان فقط using
بيان على مساحة الاسم إذا كان الإصدار الذي يتم تجميعه مقابل 1.1.
إذا قمت بعمل بحث Google على use_net11, ، ستجدها تشير إلى الكثير من رمز DirectX المدارة.