次の方法で共有


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

注釈

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

注意

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

注意

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

コンストラクター

ComClassAttribute()

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

ComClassAttribute(String)

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

ComClassAttribute(String, String)

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

ComClassAttribute(String, String, 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)

適用対象

こちらもご覧ください