ManagedToNativeComInteropStubAttribute Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Támogatja az interop-stubok felhasználói testreszabását a felügyelt-com közötti interop forgatókönyvekben.
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
- Öröklődés
- Attribútumok
Megjegyzések
Ez az attribútum lehetővé teszi, hogy azok az interop fejlesztők, akik ismerik a marsallálást és az interop hívások belső működését, tegye a következőket:
Használja ki a testreszabott interop-stubs előnyeit a buildeléskor a futási idő helyett.
Testreszabott interop-csonkok hibakeresése.
Biztosítson olyan felügyeleti képességeket egy csonkon belül, amelyet a futtatókörnyezet nem biztosít.
Biztosítson felhasználóspecifikus metódus-küldési képességeket.
Az attribútumot egy felületen egy metódusra alkalmazza a felügyelt és natív COM-interophoz tartozó csonkmetódus megadásához.
Ha ez az attribútum futásidőben jelentkezik, a közös nyelvi futtatókörnyezet nem hoz létre dinamikusan egymással összefüggő csonkot. Ehelyett meghívja a buildeléskor létrehozott egyéni csonkot.
Az ManagedToNativeComInteropStubAttribute attribútum a következő jellemzőkkel rendelkezik:
Az attribútum csak a megjelölt
[ComImport]felületek metódusaihoz használható. Ha az attribútum nem felületi típusokra van alkalmazva, a futtatókörnyezet figyelmen kívül hagyja.Az attribútum csak egyszer használható ugyanazon a felületen. Ha többször használják, a fordító ismétlődő attribútumhibát okoz.
Az attribútum nem örökölhető egy alapfelületről. A származtatott felületeknek explicit módon kell hozzárendelniük az attribútumot.
Az attribútumozott metódust tartalmazó szerelvénynek tartalmaznia kell a testreszabott csonkot is.
A túlterhelt csonk metódusok érvényesek. Bár csak a csonk metódus típusát és nevét adja meg, a futtatókörnyezet felderíti a megfelelő csonkot. Ezt úgy hajtja végre, hogy megvizsgálja a felületi metódus összes argumentumát, majd egy explicit this mutatóval teljes aláírás-egyeztetést hajt végre.
Az is lehetséges, hogy egy felületen több metódus is ugyanazt a csonkmetódust használja; azonban óvatosnak kell lennie, ha megosztott csonkokat használ.
Note
A csonk metódusának statikusnak kell lennie.
A futtatókörnyezetet a következő C#-kóddal értesítheti, hogy a buildeléskor a futási idő helyett egy testreszabott interop-csonkot használjon:
[ComImport]
interface IMyInterface
{
[ManagedToNativeComInteropStubAttribute(typeof(TestStubClass),
"ForwardTestStub")]
void GetString (string arg);
}
Ezután a következő kóddal deklarálhatja a megfelelő csonk metódust:
class TestStubClass
{
internal static void ForwardTestStub(IMyInterface thisObject,
string arg) {…}
}
Konstruktorok
| Name | Description |
|---|---|
| ManagedToNativeComInteropStubAttribute(Type, String) |
Inicializálja az osztály új példányát a ManagedToNativeComInteropStubAttribute megadott osztálytípussal és metódusnévvel. |
Tulajdonságok
| Name | Description |
|---|---|
| ClassType |
Lekéri a szükséges csonkmetódus-metódust tartalmazó osztályt. |
| MethodName |
Lekéri a csonk metódus nevét. |
| TypeId |
Ha származtatott osztályban implementálják, ehhez egy egyedi azonosítót Attributekap. (Öröklődés forrása Attribute) |
Metódusok
| Name | Description |
|---|---|
| Equals(Object) |
Olyan értéket ad vissza, amely jelzi, hogy ez a példány egyenlő-e egy adott objektummal. (Öröklődés forrása Attribute) |
| GetHashCode() |
A példány kivonatkódját adja vissza. (Öröklődés forrása Attribute) |
| GetType() |
Lekéri az Type aktuális példányt. (Öröklődés forrása Object) |
| IsDefaultAttribute() |
Ha egy származtatott osztályban felül van bírálva, azt jelzi, hogy a példány értéke-e a származtatott osztály alapértelmezett értéke. (Öröklődés forrása Attribute) |
| Match(Object) |
Származtatott osztály felülírásakor egy olyan értéket ad vissza, amely jelzi, hogy ez a példány egy adott objektummal egyenlő-e. (Öröklődés forrása Attribute) |
| MemberwiseClone() |
Az aktuális Objectpéldány sekély másolatát hozza létre. (Öröklődés forrása Object) |
| ToString() |
Az aktuális objektumot jelképező sztringet ad vissza. (Öröklődés forrása Object) |
Explicit interfész-implementációk
| Name | Description |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Névkészletet képez le a küldési azonosítók megfelelő készletére. (Öröklődés forrása Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Lekéri egy objektum típusadatait, amelyek a felület típusadatainak lekérésére használhatók. (Öröklődés forrása Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Lekéri az objektumok által biztosított típusinformációs felületek számát (0 vagy 1). (Öröklődés forrása Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Hozzáférést biztosít az objektumok által közzétett tulajdonságokhoz és metódusokhoz. (Öröklődés forrása Attribute) |