InterfaceTypeAttribute 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.
Azt jelzi, hogy a felügyelt felület kettős, csak kézbesítési vagy IUnknown -only-e, ha a COM-nak van kitéve.
public ref class InterfaceTypeAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Interface, Inherited=false)]
public sealed class InterfaceTypeAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.Interface, Inherited=false)]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class InterfaceTypeAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Interface, Inherited=false)>]
type InterfaceTypeAttribute = class
inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.Interface, Inherited=false)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type InterfaceTypeAttribute = class
inherit Attribute
Public NotInheritable Class InterfaceTypeAttribute
Inherits Attribute
- Öröklődés
- Attribútumok
Példák
Az alábbi példa bemutatja, hogyan InterfaceTypeAttribute vezérli az interfész a COM-nak való kitettségét.
using namespace System::Runtime::InteropServices;
//Interface is exposed to COM as dual.
interface class IMyInterface1{};
//Insert code here.
//Interface is exposed to COM as IDispatch.
[InterfaceTypeAttribute(ComInterfaceType::InterfaceIsIDispatch)]
interface class IMyInterface2{};
//Insert code here.
using System.Runtime.InteropServices;
//Interface is exposed to COM as dual.
interface IMyInterface1
{
//Insert code here.
}
//Interface is exposed to COM as IDispatch.
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIDispatch)]
interface IMyInterface2
{
//Insert code here.
}
Imports System.Runtime.InteropServices
'Interface is exposed to COM as dual.
Interface IMyInterface1
'Insert code here.
End Interface
'Interface is exposed to COM as IDispatch.
<InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIDispatch)> _
Interface IMyInterface2
'Insert code here.
End Interface
Megjegyzések
Ezt az attribútumot alkalmazhatja a felületekre.
Alapértelmezés szerint a Tlbexp.exe (Típustár-exportőr) egy felügyelt felületet tesz elérhetővé a COM-nak kettős interfészként, így rugalmasan megkötheti a késői kötést vagy a korai kötés teljesítményét. Az ComInterfaceType enumerálással felülbírálhatja az alapértelmezett viselkedést, és csak késői kötést vagy csak korai kötést adhat meg. Alkalmazhatja például egy felületre a InterfaceType (ComInterfaceType.InterfaceIsIDispatch) metaadatok előállításához, hogy a hívók csak késői kötésre korlátozódjanak. Bár az IDispatch interfészből származó felületek gyakran kettősek, az InterfaceIsIDispatch enumerálási tag csak késői hívásokat engedélyez a felületi metódusokhoz. Ez az attribútum nincs hatással a felület felügyelt nézetére. További információ arról, hogy a felületek hogyan érhetők el a COM-nak, lásd: Exportált típuskonvertálás.
A Tlbimp.exe (Típustár-importáló) ezt az attribútumot az importált, nem nyelvi felületekre is alkalmazza; a megfelelő enumerálási tagot alkalmazza annak jelzésére, hogy a felület csak küldési vagy IUnknown -only.
Konstruktorok
| Name | Description |
|---|---|
| InterfaceTypeAttribute(ComInterfaceType) |
Inicializálja az osztály új példányát InterfaceTypeAttribute a megadott ComInterfaceType enumerálási taggal. |
| InterfaceTypeAttribute(Int16) |
Inicializálja az osztály új példányát InterfaceTypeAttribute a megadott ComInterfaceType enumerálási taggal. |
Tulajdonságok
| Name | Description |
|---|---|
| TypeId |
Ha származtatott osztályban implementálják, ehhez egy egyedi azonosítót Attributekap. (Öröklődés forrása Attribute) |
| Value |
Lekéri azt az ComInterfaceType értéket, amely leírja, hogy a felület hogyan legyen közzétéve a COM-nak. |
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) |