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. |