ComClassAttribute クラス

定義

ComClassAttribute 属性は、クラスを COM オブジェクトとして公開できるようにするメタデータを追加するようにコンパイラに指示します。

public ref class ComClassAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=false, Inherited=false)]
public sealed class ComClassAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=false, Inherited=false)>]
type ComClassAttribute = class
    inherit Attribute
Public NotInheritable Class ComClassAttribute
Inherits Attribute
継承
ComClassAttribute
属性

この例を実行するには、新しい クラス ライブラリ アプリケーションを作成し、クラス モジュールに次のコードを追加します。

    <ComClass(ComClass1.ClassId, ComClass1.InterfaceId, ComClass1.EventsId)>
    Public Class ComClass1
        ' Use the Region directive to define a section named COM Guids. 
#Region "COM GUIDs"
        ' These  GUIDs provide the COM identity for this class 
        ' and its COM interfaces. You can generate 
        ' these guids using guidgen.exe
        Public Const ClassId As String = "7666AC25-855F-4534-BC55-27BF09D49D46"
        Public Const InterfaceId As String = "54388137-8A76-491e-AA3A-853E23AC1217"
        Public Const EventsId As String = "EA329A13-16A0-478d-B41F-47583A761FF2"
#End Region

        Public Sub New()
            MyBase.New()
        End Sub

        Function AddNumbers(ByVal X As Integer, ByVal Y As Integer)
            AddNumbers = X + Y
        End Function
    End Class

注釈

Visual Basicから COM コンポーネントを公開するプロセスを簡略化するには、ComClassAttribute を使用します。 COM オブジェクトは、.NET Framework アセンブリとは大きく異なります。ComClassAttributeがないと、Visual Basicから COM オブジェクトを生成するには、いくつかの手順に従う必要があります。 ComClassAttributeでマークされたクラスの場合、コンパイラはこれらの手順の多くを自動的に実行します。

Note

この属性により、COM オブジェクトの作成が簡略化されます。 クラスを COM オブジェクトとして公開するには、[構成プロパティ] ダイアログ ボックスの [ビルド] セクションで [COM 相互運用機能の登録] オプションを選択してプロジェクトをコンパイルする必要があります。

Note

Visual Basicで作成されたクラスをアンマネージ コードで使用するための COM オブジェクトとして公開することもできますが、これは真の COM オブジェクトではありません。 詳細については、「 .NET Framework アプリケーションでの COM 相互運用性」を参照してください。

コンストラクター

名前 説明
ComClassAttribute()

ComClassAttribute クラスの新しいインスタンスを初期化します。

ComClassAttribute(String, String, String)

ComClassAttribute クラスの新しいインスタンスを初期化します。

ComClassAttribute(String, String)

ComClassAttribute クラスの新しいインスタンスを初期化します。

ComClassAttribute(String)

ComClassAttribute クラスの新しいインスタンスを初期化します。

プロパティ

名前 説明
ClassID

クラスを一意に識別するために使用されるクラス ID を取得します。

EventID

イベントを一意に識別するために使用されるイベント ID を取得します。

InterfaceID

インターフェイスを一意に識別するために使用されるインターフェイス ID を取得します。

InterfaceShadows

COM インターフェイス名がクラスまたは基底クラスの別のメンバーをシャドウすることを示します。

TypeId

派生クラスで実装されている場合は、この Attributeの一意の識別子を取得します。

(継承元 Attribute)

メソッド

名前 説明
Equals(Object)

このインスタンスが指定したオブジェクトと等しいかどうかを示す値を返します。

(継承元 Attribute)
GetHashCode()

このインスタンスのハッシュ コードを返します。

(継承元 Attribute)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
IsDefaultAttribute()

派生クラスでオーバーライドされた場合、このインスタンスの値が派生クラスの既定値であるかどうかを示します。

(継承元 Attribute)
Match(Object)

派生クラスでオーバーライドされた場合、このインスタンスが指定したオブジェクトと等しいかどうかを示す値を返します。

(継承元 Attribute)
MemberwiseClone()

現在の Objectの簡易コピーを作成します。

(継承元 Object)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

明示的なインターフェイスの実装

名前 説明
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

一連の名前を対応する一連のディスパッチ識別子に割り当てます。

(継承元 Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

インターフェイスの型情報を取得するために使用できるオブジェクトの型情報を取得します。

(継承元 Attribute)
_Attribute.GetTypeInfoCount(UInt32)

オブジェクトが提供する型情報インターフェイスの数 (0 または 1) を取得します。

(継承元 Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

オブジェクトによって公開されるプロパティとメソッドへのアクセスを提供します。

(継承元 Attribute)

適用対象

こちらもご覧ください