Aracılığıyla paylaş


Birlikte Çalışma Özniteliklerini Uygulama

System.Runtime.InteropServices ad alanı, birlikte çalışmaya ö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 veya COM birlikte çalışma tarafından uygulananlar.

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.

Design-Time Öznitelikler

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.

Özellik 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ü nasıl etkinleştireceğini ve düzenleyeceğini öğ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 bir derlemenin COM'dan kaydı kaldırıldığında bir yöntemin çağrılması gerektiğini belirtir.
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; onları görünür kılmak için bir özniteliğe ihtiyaç yoktur.
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 dispinterface'leri ifşa ederken, ortak dil çalışma zamanının hangi IDispatch arabirimi uygulamasını kullandığını belirtir.
InAttribute Verilerin çağıran tarafa düzenlenerek iletilmesi gerektiğini gösterir. Parametreleri öznitelik olarak kullanmak için kullanılabilir.
InterfaceTypeAttribute Yönetilen bir arabirimin COM istemcilerine nasıl sunulacağını kontrol eder (Çift, IUnknown türevli veya yalnızca 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. Öznitelik, hem marshalling işlemi hem de tür kütüphanesi dışa aktarma işlemini 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.

Conversion-Tool Öznitelikler

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.

Özellik Açıklama
ComAliasNameAttribute Bir parametre veya alan türü için COM takma 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ü kütüphanesinden içeri aktarıldığını gösterir. Bu öznitelik, özgün tür kitaplığının 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 bakınız