ComClassAttribute クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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
- 継承
- 属性
例
この例を実行するには、新しい クラス ライブラリ アプリケーションを作成し、クラス モジュールに次のコードを追加します。
<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(String, String, String) |
|
| ComClassAttribute(String, String) |
|
| ComClassAttribute(String) |
|
プロパティ
| 名前 | 説明 |
|---|---|
| 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) |