ماذا #if! use_net11 باستخدام system.runtime.interopservices.comtypes ؛ #endif يعني؟

StackOverflow https://stackoverflow.com/questions/3143266

سؤال

ماذا يعني الكود التالي وماذا يفعل؟ هل هو مطلوب حقا؟

 #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 المدارة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top