هل تحتاج فئة Wrapper التي تستدعي مكون COM من خلال C# إلى تنفيذ نمط التخلص؟
سؤال
لدي فصل مكتوب في C# الذي يعمل كملف حول مكون com. مكون COM مقيد مبكرًا وتم إنشاء RCW بواسطة Visual Studio. هل يجب أن أقوم بتنفيذ نمط التخلص في فئة Wrapper لتنظيف مرجع COM ، أو هل يجب أن أترك GC يتعامل معه ، لأنه يحتوي بالفعل على RCW؟
المحلول
نادرا ما يكون هناك أ بحاجة إلى لتنفيذ التخلص ولكن في كثير من الأحيان هناك أسباب وجيهة للقيام بذلك.
إذا كان كائن COM يمثل موردًا مهمًا يجب إصداره بسرعة ، فقد يكون ذلك سببًا جيدًا لتنفيذ التخلص منه.
في طريقة التصرف الخاصة بك يمكنك القيام بها:-
System.Runtime.InteropServices.Marshal.ReleaseComObject(myRCW);
وبالتالي فإن التخلص من صفك سيصدر كائن COM على الفور.
لا تنتمي إلى StackOverflow