Aracılığıyla paylaş


Örnek com sınıf (C# Programlama Kılavuzu)

Bir com nesnesi olarak yararlanılmasına bir sınıf örneği aşağıdadır. Bu kod bir .cs dosyasına yerleştirilir ve projenize eklenen sonra com birlikte çalışabilirlik için kaydolun özelliğine doğru. Daha fazla bilgi için bkz. How to: Register a Component for COM Interop.

Visual C# com nesnelerini kullanan bir sınıf arabirimi, gerekirse olayları arabirimi ve sınıf bildirmek gerekir. Sınıf üyeleri com görünür olmasını u kurallara uymalıdır:

  • Sınıf ortak olması gerekir.

  • Özellikler, yöntemler ve olaylar ortak olması gerekir.

  • Özellikleri ve yöntemleri sınıf arabirimde bildirilmelidir.

  • Olaylar, olay arabirimi bildirilmelidir.

Bu arabirimde bildirilen değil diğer ortak sınıf üyeleri com görünmez, ancak diğer görünür olacaktır.net Framework nesnelerini içerir.

Özellikleri ve yöntemleri com göstermek için bunları sınıf arabirimi bildirmek ve onlarla işaretle bir DispId özniteliği ve bunları sınıfta uygulamak. Üyeleri bir arabirimde bildirilen sipariş için com vtable kullanılan sırasıdır.

Kendi sınıfından olaylar oluşturmak için bunları olayları arabirimi bildirmek ve onlarla işaretle bir DispId özniteliği. Bu arabirim sınıfı uygulamamalıdır.

Sınıf sınıf arabirimini uygular; birden fazla arabirim uygulayabilirsiniz ama birinci sınıf arabirimini varsayılan olacaktır. Yöntemleri ve özellikleri için com burada sergilenen uygular. Bunlar genel olarak işaretlenmeli ve sınıf arabirimini bildirmelerinde eşleşmesi gerekir. Ayrıca, burada sınıfı tarafından olayları bildirmek. Bunlar genel olarak işaretlenmeli ve olayları arabirimi bildirmelerinde eşleşmesi gerekir.

Örnek

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
    {
    }
}

Ayrıca bkz.

Başvuru

Birlikte çalışabilirlik (C# Programlama Kılavuzu)

Build sayfasý, proje Tasarımcısı (C#)

Kavramlar

C# Programlama Kılavuzu