Birlikte Çalışma Özniteliklerini Uygulama

Ad System.Runtime.InteropServices alanı, birlikte çalışma özelliğine özgü üç öznitelik kategorisi sağlar: tasarım zamanında sizin uyguladığınız öznitelikler, dönüştürme işlemi sırasında COM birlikte çalışma araçları ve API'ler tarafından uygulananlar ve sizin tarafınızdan veya COM birlikte çalışma tarafından uygulanan öznitelikler.

Yönetilen koda öznitelik uygulama görevini bilmiyorsanız bkz . Öznitelikleri Kullanarak Meta Verileri Genişletme. Diğer özel öznitelikler gibi, birlikte çalışmaya özgü öznitelikleri de türler, yöntemler, özellikler, parametreler, alanlar ve diğer üyelere uygulayabilirsiniz.

Tasarım Zamanı Öznitelikleri

COM birlikte çalışma araçları ve API'leri tarafından gerçekleştirilen dönüştürme işleminin sonucunu tasarım zamanı özniteliklerini kullanarak ayarlayabilirsiniz. Aşağıdaki tabloda, yönetilen kaynak kodunuz için uygulayabileceğiniz öznitelikler açıklanmaktadır. COM birlikte çalışma araçları bazen bu tabloda açıklanan öznitelikleri de uygulayabilir.

Öznitelik Açıklama
AutomationProxyAttribute Türün Automation marshaller kullanılarak mı yoksa özel ara sunucu ve saplama kullanılarak mı sıralanması gerektiğini belirtir.
ClassInterfaceAttribute Bir sınıf için oluşturulan arabirim türünü denetler.
CoClassAttribute Bir tür kitaplığından içeri aktarılan özgün ortak sınıfın CLSID'sini tanımlar.

COM birlikte çalışma araçları genellikle bu özniteliği uygular.
ComImportAttribute Bir ortak sınıfın veya arabirim tanımının COM türü kitaplığından içeri aktarıldığını gösterir. Çalışma zamanı, türü etkinleştirmeyi ve sıralamayı öğrenmek için bu bayrağı kullanır. Bu öznitelik türün bir tür kitaplığına geri dışarı aktarılmasını engeller.

COM birlikte çalışma araçları genellikle bu özniteliği uygular.
ComRegisterFunctionAttribute Kullanıcı tarafından yazılan kodun kayıt işlemi sırasında yürütülebilmesi için derleme COM'dan kullanılmak üzere kaydedildiğinde bir yöntemin çağrılması gerektiğini gösterir.
ComSourceInterfacesAttribute sınıfı için olayların kaynağı olan arabirimleri tanımlar.

COM birlikte çalışma araçları bu özniteliği uygulayabilir.
ComUnregisterFunctionAttribute Kullanıcı tarafından yazılan kodun işlem sırasında yürütülebilmesi için derleme COM'dan kaydı kaldırıldığında bir yöntemin çağrılması gerektiğini gösterir.
ComVisibleAttribute Öznitelik değeri false değerine eşit olduğunda türleri COM'a görünmez hale getirir. Bu öznitelik, COM görünürlüğünü denetlemek için tek bir türe veya bütün bir derlemeye uygulanabilir. Varsayılan olarak, tüm yönetilen, genel türler görünür; özniteliğini görünür hale getirmek için gerekli değildir.
DispIdAttribute Bir yöntem veya alanın COM dağıtım tanımlayıcısını (DISPID) belirtir. Bu öznitelik, açıklandığı yöntem, alan veya özelliğin DISPID'sini içerir.

COM birlikte çalışma araçları bu özniteliği uygulayabilir.
ComDefaultInterfaceAttribute .NET'te uygulanan com sınıfı için varsayılan arabirimi gösterir.

COM birlikte çalışma araçları bu özniteliği uygulayabilir.
FieldOffsetAttribute StructLayoutAttribute ile kullanıldığında sınıf içindeki her alanın fiziksel konumunu gösterir ve LayoutKind açık olarak ayarlanır.
GuidAttribute Bir sınıfın, arabirimin veya tüm tür kitaplığının genel benzersiz tanımlayıcısını (GUID) belirtir. Özniteliğine geçirilen dize, System.Guid türü için kabul edilebilir bir oluşturucu bağımsız değişkeni olan bir biçim olmalıdır.

COM birlikte çalışma araçları bu özniteliği uygulayabilir.
IDispatchImplAttribute Com'da çift arabirimleri ve dispinterfaces'i gösterirken ortak dil çalışma zamanının hangi IDispatch arabirimi uygulamasını kullandığını gösterir.
InAttribute Verilerin çağıranda sıraya alınması gerektiğini gösterir. Parametreleri öznitelik olarak kullanmak için kullanılabilir.
InterfaceTypeAttribute Yönetilen arabirimin COM istemcilerine nasıl açık olduğunu denetler (yalnızca İkili, IUnknown türetilmiş veya IDispatch).

COM birlikte çalışma araçları bu özniteliği uygulayabilir.
LCIDConversionAttribute Yönetilmeyen yöntem imzası bir LCID parametresi beklediğini gösterir.

COM birlikte çalışma araçları bu özniteliği uygulayabilir.
MarshalAsAttribute Alanlardaki veya parametrelerdeki verilerin yönetilen ve yönetilmeyen kod arasında nasıl sıralanması gerektiğini gösterir. Her veri türünün varsayılan sıralama davranışı olduğundan özniteliği her zaman isteğe bağlıdır.

COM birlikte çalışma araçları bu özniteliği uygulayabilir.
OptionalAttribute Parametrenin isteğe bağlı olduğunu gösterir.

COM birlikte çalışma araçları bu özniteliği uygulayabilir.
OutAttribute Bir alan veya parametredeki verilerin çağrılan nesneden çağırana geri sıralanması gerektiğini gösterir.
PreserveSigAttribute Normalde birlikte çalışma çağrıları sırasında gerçekleşen HRESULT veya retval imza dönüşümlerini bastırır. özniteliği, hem sıralamayı hem de tür kitaplığı dışarı aktarmayı etkiler.

COM birlikte çalışma araçları bu özniteliği uygulayabilir.
ProgIdAttribute .NET sınıfının ProgID değerini belirtir. Sınıflara öznitelik eklemek için kullanılabilir.
StructLayoutAttribute Bir sınıfın alanlarının fiziksel düzenini denetler.

COM birlikte çalışma araçları bu özniteliği uygulayabilir.

Dönüştürme Aracı Öznitelikleri

Aşağıdaki tabloda, COM birlikte çalışma araçlarının dönüştürme işlemi sırasında uyguladığı öznitelikler açıklanmaktadır. Bu öznitelikleri tasarım zamanında uygulamazsınız.

Öznitelik Açıklama
ComAliasNameAttribute Bir parametre veya alan türü için COM diğer adını gösterir. Parametreleri, alanları veya dönüş değerlerini öznitelik etmek için kullanılabilir.
ComConversionLossAttribute Bir tür kitaplığından bir derlemeye aktarıldığında bir sınıf veya arabirim hakkındaki bilgilerin kaybolduğunu gösterir.
ComEventInterfaceAttribute Kaynak arabirimini ve olay arabiriminin yöntemlerini uygulayan sınıfı tanımlar.
ImportedFromTypeLibAttribute Derlemenin başlangıçta bir COM türü kitaplığından içeri aktarıldığını gösterir. Bu öznitelik, özgün tür kitaplığının tür kitaplığı tanımını içerir.
TypeLibFuncAttribute Bu işlev için başlangıçta COM tür kitaplığından içeri aktarılan FUNCFLAGS'leri içerir.
TypeLibTypeAttribute COM tür kitaplığından bu tür için ilk olarak içeri aktarılan TYPEFLAGS'i içerir.
TypeLibVarAttribute COM tür kitaplığından bu değişken için ilk olarak içeri aktarılan VARFLAGS'yi içerir.

Ayrıca bkz.