سؤال

لدي DLL C ++ الذي يحتاج إلى استدعاء وظيفة (تمرير قيمة، وإرجاع قيمة) في مكتبة فئة C #.

هو خياري الوحيد لإعطاء واجهة C # DLL واتصل به من C ++ مع IDispatch؟

هل هذه هي أفضل طريقة؟

هل كانت مفيدة؟

المحلول

زوجين من الخيارات المتاحة لك هنا

  1. استخدم تجميع وضع مختلط C ++ / CLI كجسر بين C ++ و C # DLL
  2. استخدم جسر COM عن طريق عرض العديد من أنواع C # كائنات كائن COM. يمكن بعد ذلك الوصول إلى ذلك عبر رمز C ++ بواسطة دلالات COM العادية

نصائح أخرى

هذا المشروع ينشئ صادرات DLL للطرق الثابتة في الفصول الدراسية. يمكنك بعد ذلك استدعاء طريقة C # ثابتة من التعليمات البرمجية غير المدارة.

نهج واحد من شأنه أن يعمل هو الاتصال به على الرغم من كوم. يمكنك استخدام أداة regasm. لإنشاء غلاف COM.

انها ليست فقط اختيار.

يمكنك أيضا ترجمة DLL C ++ الخاص بك ك DLL المدارة.

يمكنك استضافة C # DLL كخدمة ومن جهاز التحكم عن بعد.

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