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ızda CoCreateInstance , toplama nesnesinin IUnknown arabirimini (denetim IUnknown) 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