ManagedToNativeComInteropStubAttribute Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Yönetilen-COM birlikte çalışma senaryolarında birlikte çalışma saplamalarının kullanıcı özelleştirmesi için destek sağlar.
public ref class ManagedToNativeComInteropStubAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Method, AllowMultiple=false, Inherited=false)]
public sealed class ManagedToNativeComInteropStubAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.Method, Inherited=false)]
public sealed class ManagedToNativeComInteropStubAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.Method, AllowMultiple=false, Inherited=false)]
[System.Runtime.InteropServices.ComVisible(false)]
public sealed class ManagedToNativeComInteropStubAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Method, AllowMultiple=false, Inherited=false)>]
type ManagedToNativeComInteropStubAttribute = class
inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.Method, Inherited=false)>]
type ManagedToNativeComInteropStubAttribute = class
inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.Method, AllowMultiple=false, Inherited=false)>]
[<System.Runtime.InteropServices.ComVisible(false)>]
type ManagedToNativeComInteropStubAttribute = class
inherit Attribute
Public NotInheritable Class ManagedToNativeComInteropStubAttribute
Inherits Attribute
- Devralma
- Öznitelikler
Açıklamalar
Bu öznitelik, hazırlama ve birlikte çalışma çağrılarının iç çalışmaları hakkında bilgi sahibi olan birlikte çalışma geliştiricilerinin aşağıdakileri yapmalarını sağlar:
Çalışma zamanı yerine derleme zamanında özelleştirilmiş birlikte çalışma saplamalarından yararlanın.
Özelleştirilmiş birlikte çalışma saplamalarında hata ayıklama.
Çalışma zamanının sağlamadığı bir saptama içinde hazırlama özellikleri sağlayın.
Kullanıcıya özgü yöntem dağıtma özellikleri sağlayın.
Özniteliğini, yönetilenden yerele COM birlikte çalışma için karşılık gelen saplama yöntemini belirtmek üzere arabirimdeki bir yönteme uygularsınız.
Çalışma zamanı sırasında bu öznitelikle karşılaşılırsa, ortak dil çalışma zamanı dinamik olarak bir birlikte çalışma saplaması oluşturmaz. Bunun yerine, derleme zamanında oluşturulan özel saplama çağırır.
ManagedToNativeComInteropStubAttribute özniteliği aşağıdaki özelliklere sahiptir:
özniteliği yalnızca olarak işaretlenen
[ComImport]arabirimlerden yöntemler üzerinde kullanılabilir. Öznitelik arabirim olmayan türlere uygulanırsa, çalışma zamanı tarafından yoksayılır.özniteliği bir arabirimde aynı yöntemde yalnızca bir kez kullanılabilir. Birden çok kez kullanılırsa, derleyici yinelenen bir öznitelik hatası oluşturur.
Özniteliği bir temel arabirimden devralınamaz. Türetilmiş arabirimler açıkça özniteliğini atamalıdır.
Öznitelikli yöntemi içeren derleme de özelleştirilmiş saplama içermelidir.
Aşırı yüklenmiş saplama yöntemleri geçerli. Saplama yönteminin yalnızca türünü ve adını belirtseniz de çalışma zamanı karşılık gelen saplamayı bulur. Bunu yapmak için arabirim yöntemindeki tüm bağımsız değişkenleri inceler ve sonra açık this bir işaretçi kullanarak tam imza eşleştirmesi gerçekleştirir.
Bir arabirimdeki birden çok yöntemin aynı saplama yöntemini paylaşması da mümkündür; ancak paylaşılan saptamaları kullanırken dikkatli olmanız gerekir.
Note
Saplama yöntemleri statik olmalıdır.
Çalışma zamanını, aşağıdaki C# koduyla çalışma zamanı yerine derleme zamanında özelleştirilmiş bir birlikte çalışma saplaması kullanması konusunda bilgilendirebilirsiniz:
[ComImport]
interface IMyInterface
{
[ManagedToNativeComInteropStubAttribute(typeof(TestStubClass),
"ForwardTestStub")]
void GetString (string arg);
}
Ardından karşılık gelen saplama yöntemini bildirmek için aşağıdaki kodu kullanabilirsiniz:
class TestStubClass
{
internal static void ForwardTestStub(IMyInterface thisObject,
string arg) {…}
}
Oluşturucular
| Name | Description |
|---|---|
| ManagedToNativeComInteropStubAttribute(Type, String) |
Belirtilen sınıf türü ve yöntem adıyla sınıfının yeni bir örneğini ManagedToNativeComInteropStubAttribute başlatır. |
Özellikler
| Name | Description |
|---|---|
| ClassType |
Gerekli saplama yöntemini içeren sınıfını alır. |
| MethodName |
Saptama yönteminin adını alır. |
| TypeId |
Türetilmiş bir sınıfta uygulandığında, bu Attributeiçin benzersiz bir tanımlayıcı alır. (Devralındığı yer: Attribute) |
Yöntemler
| Name | Description |
|---|---|
| Equals(Object) |
Bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değer döndürür. (Devralındığı yer: Attribute) |
| GetHashCode() |
Bu örneğin karma kodunu döndürür. (Devralındığı yer: Attribute) |
| GetType() |
Geçerli örneğin Type alır. (Devralındığı yer: Object) |
| IsDefaultAttribute() |
Türetilmiş bir sınıfta geçersiz kılındığında, bu örneğin değerinin türetilmiş sınıf için varsayılan değer olup olmadığını gösterir. (Devralındığı yer: Attribute) |
| Match(Object) |
Türetilmiş bir sınıfta geçersiz kılındığında, bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değer döndürür. (Devralındığı yer: Attribute) |
| MemberwiseClone() |
Geçerli Objectbasit bir kopyasını oluşturur. (Devralındığı yer: Object) |
| ToString() |
Geçerli nesneyi temsil eden bir dize döndürür. (Devralındığı yer: Object) |
Belirtik Arabirim Kullanımları
| Name | Description |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Bir ad kümesini karşılık gelen bir dağıtma tanımlayıcısı kümesine eşler. (Devralındığı yer: Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Bir arabirimin tür bilgilerini almak için kullanılabilecek bir nesnenin tür bilgilerini alır. (Devralındığı yer: Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Bir nesnenin sağladığı tür bilgisi arabirimlerinin sayısını alır (0 ya da 1). (Devralındığı yer: Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Bir nesne tarafından kullanıma sunulan özelliklere ve yöntemlere erişim sağlar. (Devralındığı yer: Attribute) |