يمكن للبرامج المبنية على COM مثل VB6 التعامل مع الكود الخاص بك والمكتوب ضمن الفريموورك مثل Class - Interface - struct - enum إذا تم اتباع القواعد التالية بشسكل عام
- يجب على الفئات تعريف واجهة
- التعريف باستخدام Public
- الأنواع Types لايمكن أن تكود مجردة
كما يمكنك تحديد فيما إذا كان يمكن أو لايمكن رؤية الإجراء أو الكلاس أو ... الخ من عملي الـ com باستخدام ComVisibleAttribute كالمثال
Imports System.Runtime.InteropServices <ComVisible(False)> _ Class SampleClass Public Sub New() 'Insert code here. End Sub <ComVisible(False)> _ Public Function MyMethod(param As String) As Integer Return 0 End Function Public Function MyOtherMethod() As Boolean Return True End Function <ComVisible(False)> _ Public ReadOnly Property MyProperty() As Integer Get Return MyProperty End Get End Property End Class
ويجب عليك تسجيل مجمع .net لـعملاء الـ Com حتى يمكن استخدامها وذلك باستخدام Tlbexp.exe و RegAsm.exe للقيام بعملية التسجيل ويستخدم من سطر الأوامر بالشكل التالي
TlbExp AssemblyName /out:FileName
و عملاء الـ com يصلون للمجمع الخاص بك عن طريق ملف .tlb المنشأ بواسطة هذه الأداة كما يجب عليك تسجيل المجمع الخاص بك عن طريق Regasm.exe والذي يمكنه توليد ملف tlb أيضا عن طريق الخيار /tlb: والذي يمكن استخدامه بالشكل
RegAsm AssemblyName /tlb: FileName.tlb /codebase





