يمكن للشخص شرح فوائد استخدام التجميع Interop الأساسية في صافي؟

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

  •  03-07-2019
  •  | 
  •  

سؤال

وهذا المفهوم هو جديد بالنسبة لي، واقترح زميل له. للأسف، لم يكن لدي أي فكرة عما كان يتحدث عنه. يمكن للشخص تنورني؟

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

المحلول

ويمكنك العثور على الكثير من المعلومات حول هذا الموضوع href="http://msdn.microsoft.com/en-us/library/aa302338.aspx" هنا .

في وباختصار يمكن القول، وPIA هو تجميع إمكانية التشغيل المتداخل وقعت هي التي تقدم تعريفا "الرسمي" من الأنواع في مكتبة COM من الناشر مكتبة COM.

وأما بالنسبة للفوائد، تلخص في مقال نشر عنه جيدة:

<اقتباس فقرة>   

وتقييمات التنفيذ الأولية مهمة لأنها   توفير نوع هوية فريدة من نوعها. وPIA   يميز نوع الرسمي   تعريفات من المزيفة   التعاريف التي قدمتها إمكانية التشغيل المتداخل الآخرين   التجمعات. وجود نوع واحد   هوية تضمن اكتب التوافق   بين التطبيقات التي تشترك في   أنواع محددة في PIA. بسبب ال   وقعت الخطوط الجوية الباكستانية من قبل الناشر و   وصفت مع   السمة، فإنه PrimaryInteropAssembly   يمكن أن تكون متمايزة عن غيرها   التجميعات إمكانية التشغيل المتداخل التي تحدد   نفس أنواع.

نصائح أخرى

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

ودون PIA:

object _comObject;
Type _comObjectType;
_comObjectType = Type.GetTypeFromProgID("MyCompany.MyApplication.MyObject", true);
_comObject = Activator.CreateInstance(_comObjectType);

string name = (string)_comObjectType.InvokeMember("GetCustomerName", BindingFlags.InvokeMethod, null, _comObject, , new object [] { _customerId });

ومع PIA:

MyCompany.MyApplication.MyObject obj = new MyObject();
string name = obj.GetCustomerName(_customerId);

وببساطة قائلا من خلال على سبيل المثال، إذا كنت ترغب في تطوير تطبيق يشبه مثل أي أدوات مكتبية أخرى (MS كلمة، برنامج Visio ...) مع وظائف الموسعة، يمكنك استخدام وظيفة من الأدوات المكتبية في المشروع باستخدام PIA.In صفي الرسم الرسم التطبيق، واستخدام لوحة ل Visio لإنشاء فئة الرسم التخطيطي.

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