toplanabilir
Sınıfının toplamayı desteklediğini gösterir.
Sözdizimi
[ aggregatable(value) ]
Parametreler
value
(İsteğe bağlı) COM nesnesinin ne zaman toplanabilir olduğunu belirten bir parametre:
never
COM nesnesi toplanamaz.allowed
COM nesnesi doğrudan oluşturulabilir veya toplanabilir. Bu varsayılan seçenektir.always
COM nesnesi doğrudan oluşturulamaz ve yalnızca toplanabilir. Bu nesneyi çağırdığınızdaCoCreateInstance
, toplama nesnesininIUnknown
arabirimini (denetimIUnknown
) belirtmeniz gerekir.
Açıklamalar
Toplayıcı C++ özniteliği, toplayıcı MIDL özniteliğiyle aynı işlevselliğe sahiptir. Bu, derleyicinin oluşturulan .idl dosyasına toplayıcı özniteliğini geçireceği anlamına gelir.
Bu öznitelik coclass, progid veya vi_progid özniteliğinin (veya bunlardan birini gösteren başka bir özniteliğin) aynı öğeye uygulanmasını gerektirir. Tek bir öznitelik kullanılırsa, diğer ikisi otomatik olarak uygulanır. Örneğin, uygulandıysa vi_progid
ve coclass
uygulanırsaprogid
.
ATL Projeleri
Bu öznitelik ATL kullanan bir projede kullanılıyorsa özniteliğin davranışı değişir. Özniteliği, daha önce açıklanan davranışa ek olarak aşağıdaki makrolardan birini de hedef sınıfa ekler:
Parametre değeri | Eklenen makro |
---|---|
Never |
DECLARE_NOT_AGGREGATABLE |
Allowed |
DECLARE_POLY_AGGREGATABLE |
Always |
DECLARE_ONLY_AGGREGATABLE |
Örnek
// cpp_attr_ref_aggregatable.cpp
// compile with: /LD
#define _ATL_ATTRIBUTES
#include "atlbase.h"
#include "atlcom.h"
[module(name="MyModule")];
[ coclass, aggregatable(allowed),
uuid("1a8369cc-1c91-42c4-befa-5a5d8c9d2529")]
class CMyClass {};
Gereksinimler
Öznitelik bağlamı | Değer |
---|---|
Şunlar için geçerlidir: | class , struct |
Tekrarlanabilir | Hayır |
Gerekli öznitelikler | Aşağıdakilerden biri veya daha fazlası: coclass , progid , veya vi_progid . |
Geçersiz öznitelikler | Hiçbiri |
Öznitelik bağlamları hakkında daha fazla bilgi için bkz . Öznitelik Bağlamları.
Ayrıca bkz.
IDL öznitelikleri
Sınıf Öznitelikleri
Typedef, Enum, Union ve Struct Öznitelikleri
Toplama