event_receiver
özniteliği
Bir olay alıcısı (havuz) oluşturur.
Not
Yerel C++ içindeki olay öznitelikleri Standart C++ ile uyumsuz. Uyumluluk modunu belirttiğinizde /permissive-
bunlar derlenemez.
Sözdizimi
[ event_receiver(type
[, layout_dependent=false]) ]
Parametreler
type
Aşağıdaki değerlerden birinin numaralandırması:
native
yönetilmeyen C/C++ kodu için (yerel sınıflar için varsayılan).com
com kodu için. Bu değer için şu üst bilgi dosyalarını eklemeniz gerekir:#define _ATL_ATTRIBUTES #include <atlbase.h> #include <atlcom.h>
layout_dependent
Yalnızca com ise type
=belirtin.layout_dependent
layout_dependent
Bir Boole değeridir:
true
, olay alıcıdaki temsilcilerin imzasının olay kaynağında bağlandıkları temsilcilerle tam olarak eşleşmesi gerektiği anlamına gelir. Olay alıcısı işleyici adları, ilgili olay kaynağı arabiriminde belirtilen adlarla eşleşmelidir. olduğundalayout_dependent
true
kullanıncoclass
. belirtmektrue
biraz daha verimlidir.false
(varsayılan), çağırma kuralı ve depolama sınıfının (virtual
,static
ve diğerleri) olay yöntemiyle işleyicileri eşleştirmesi gerekmeyecek anlamına gelir. İşleyici adlarının olay kaynağı arabirimi yöntemi adlarına da uyması gerekmez.
Açıklamalar
event_receiver
C++ özniteliği, uygulandığı sınıfın veya yapının Microsoft C++ birleşik olay modelini kullanarak bir olay alıcısı olacağını belirtir.
event_receiver
özniteliği ve __hook
ve __unhook
anahtar sözcükleriyle event_source
birlikte kullanılır. Olay kaynakları oluşturmak için kullanın event_source
. Olay alıcı yöntemlerini bir olay kaynağının olaylarıyla ilişkilendirmek ("kanca") için bir olay alıcısının yöntemleri içinde kullanın __hook
. İlişkilerini çözmek için kullanın __unhook
.
layout_dependent
yalnızca COM olay alıcıları (type
=com
) için belirtilir. için layout_dependent
varsayılan değeridir false
.
Not
Şablonlu bir alan veya yapı, olay içeremez.
Gereksinimler
Öznitelik bağlamı | Değer |
---|---|
Şunlar için geçerlidir: | class , struct |
Tekrarlanabilir | Hayır |
Gerekli öznitelikler | coclass Ne zaman layout_dependent =true |
Geçersiz öznitelikler | Hiçbiri |
Daha fazla bilgi için bkz . Öznitelik bağlamları.
Ayrıca bkz.
Derleyici öznitelikleri
event_source
__event
__hook
__unhook
Sınıf öznitelikleri