فئة COM المثال (البرمجة C# إرشادات)

يلي هو مثال للفئة التي كنت قد تكشف ككائن COM. بعد وضعها في ملف.cs هذه التعليمة البرمجية وإضافة إلى المشروع الخاص بك، قم بتعيين تسجيل ل توافق COM خاصية إلى صواب. لمزيد من المعلومات، راجع كيفية القيام بما يلي: تسجيل المكوّن لـ توافق COM.

يتطلب تعريض Vهوual C# الكائنات COM التصريح واجهة فئة، واجهة أحداث إذا أنه هو المطلوبة، والفئة نفسها. فئة يجب أن يتبع الأعضاء هذه القواعد أن تكون مرئي بالنسبة إلى COM:

  • فئة يجب أن يكون عاماً.

  • خصائص، يجب أن تكون أساليب وأحداث عامة.

  • خصائص و وظائف يجب تعريف فئة الواجهة.

  • أحداث يجب تعريف بالحدث الواجهة.

الأعضاء آخرين في العام في فئة التي هي غير معلن هذه الواجهات لن تكون مرئي بالنسبة إلى COM، ولكن ستكون مرئي على الكائنات غير ذلك من برنامج.NET Framework.

لعرض خصائص و وظائف إلى COM، يجب أن تقوم بتعريف هذه تشغيل واجهة الفئة ووضع علامة عليها مع DispIdالسمة، وتنفيذها في فئة. الترتيب الذي يتم تعريف الأعضاء في واجهة ترتيب المستخدمة في vtable COM.

إلى كشف الأحداث من الفئة الخاصة بك، يجب أن تقوم بتعريف هذه تشغيل واجهة الأحداث ووضع علامة عليها مع DispIdالسمة. فئة يجب أن لا تطبق هذه الواجهة.

فئة implements فئة الواجهة؛ فإنه يمكن تطبيق واجهة واحد أو أكثر من، ولكن سيتم تطبيق اﻷول الافتراضي فئة الواجهة. تنفيذ الأساليب و الخصائص المعروضة هنا إلى COM. يجب أن يتم وضع علامة العام كما يجب أن تتطابق مع تصريحات في فئة الواجهة. وكذلك الإعلان عن الأحداث من قبل فئة هنا. يجب أن يتم تحديد هذه الأرقام العامة و يجب أن تتطابق مع تصريحات في واجهة الأحداث.

مثال

using System.Runtime.InteropServices;

namespace project_name
{
    [Guid("EAA4976A-45C3-4BC5-BC0B-E474F4C3C83F")]
    public interface ComClass1Interface
    {
    }

    [Guid("7BD20046-DF8C-44A6-8F6B-687FAA26FA71"), 
        InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
    public interface ComClass1Events 
    {
    }

    [Guid("0D53A3E8-E51A-49C7-944E-E72A2064F938"),
        ClassInterface(ClassInterfaceType.None),
        ComSourceInterfaces(typeof(ComClass1Events))]
    public class ComClass1 : ComClass1Interface
    {
    }
}

راجع أيضًا:

المرجع

إمكانية التشغيل التفاعلي (إرشادات البرمجة لـ C#)

صفحة البناء، مصمم المشروع (C#)

المبادئ

دليل البرمجة لـ #C