event_source
イベント ソースを作成します。
[ event_source(
type,
optimize=[speed | size],
decorate=[true | false]
) ]
パラメーター
type
次のいずれかの値の列挙型を指定します。アンマネージ C/C++ コードの場合は native。これはアンマネージ クラスの既定値です。
COM コードの場合は com。 type=com の場合は coclass を使用する必要があります。 この値には、次のヘッダー ファイルが必要です。
#define _ATL_ATTRIBUTES #include <atlbase.h> #include <atlcom.h>
最適化
type が native の場合は、optimize=size を指定すると、クラスのすべてのイベントに対して 4 バイトのストレージ (最小値) が割り当てられ、optimize=speed (既定値) を指定すると、4 × (イベント数) バイトのストレージが割り当てられます。decorate
type が native の場合は、decorate=false を指定すると、マージ ファイル (.mrg) の展開された名前に外側のクラス名は含まれません。 /Fx を使用すると、.mrg ファイルが生成されます。 decorate=false (既定値) を指定すると、マージ ファイルに完全修飾型名が生成されます。
解説
C++ 属性 event_source は、この属性が設定されたクラスまたは構造体が、イベント ソースになるように指定します。
event_source は属性 event_receiver および __event キーワードと組み合わせて使用します。 event_receiver を使用してイベント レシーバーを作成します。 イベント ソース内のメソッドで __event を使用して、メソッドをイベントとして指定します。
注意
テンプレート クラスまたは構造体にイベントを含めることはできません。
必要条件
属性コンテキスト
対象 |
class、struct |
複数回の適用 |
不要 |
必要な属性 |
type=com の場合は coclass |
無効な属性 |
[なし] |
詳細については、「属性コンテキスト」を参照してください。