Bagikan melalui


atribut event_receiver

Membuat penerima peristiwa (sink).

Catatan

Atribut peristiwa di C++ asli tidak kompatibel dengan Standard C++. Mereka tidak dikompilasi saat Anda menentukan /permissive- mode kesuaian.

Sintaks

[ event_receiver(type
   [, layout_dependent=false]) ]

Parameter

type
Enumerasi salah satu nilai berikut:

  • native untuk kode C/C++ yang tidak dikelola (default untuk kelas asli).

  • com untuk kode COM. Nilai ini mengharuskan Anda menyertakan file header ini:

    #define _ATL_ATTRIBUTES
    #include <atlbase.h>
    #include <atlcom.h>
    

layout_dependent
Tentukan layout_dependent hanya jikatype= com. layout_dependent adalah Boolean:

  • true berarti bahwa tanda tangan delegasi dalam penerima peristiwa harus sama persis dengan yang dikaitkan dengan mereka di sumber peristiwa. Nama handler penerima peristiwa harus cocok dengan nama yang ditentukan dalam antarmuka sumber peristiwa yang relevan. Gunakan coclass saat layout_dependent adalah true. Sedikit lebih efisien untuk menentukan true.

  • false (default) berarti bahwa konvensi panggilan dan kelas penyimpanan (virtual, static, dan lainnya) tidak harus cocok dengan metode peristiwa dan handler. Nama handler juga tidak perlu mencocokkan nama metode antarmuka sumber peristiwa.

Keterangan

Atribut event_receiver C++ menentukan bahwa kelas atau struktur yang diterapkannya akan menjadi penerima peristiwa, menggunakan model peristiwa terpadu Microsoft C++.

event_receiver digunakan dengan event_source atribut dan __hook kata kunci dan __unhook . Gunakan event_source untuk membuat sumber peristiwa. Gunakan __hook dalam metode penerima peristiwa untuk mengaitkan metode penerima peristiwa ("kait") ke peristiwa sumber peristiwa. Gunakan __unhook untuk memisahkannya.

layout_dependent hanya ditentukan untuk penerima peristiwa COM (type=com). Default untuk layout_dependent adalah false.

Catatan

Kelas atau struct yang di-template tidak boleh berisi peristiwa.

Persyaratan

Konteks atribut Nilai
Berlaku untuk class, struct
Berulang No
Atribut yang diperlukan coclass Kapan layout_dependent=true
Atribut tidak valid Tidak

Untuk informasi selengkapnya, lihat Konteks atribut.

Lihat juga

Atribut pengkompilasi
event_source
__event
__hook
__unhook
Atribut kelas