InterfaceTypeAttribute Klasa
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Wskazuje, czy interfejs zarządzany jest podwójny, tylko do wysyłania, czy IUnknown
tylko wtedy, gdy jest uwidoczniony w modelu COM.
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
- Dziedziczenie
- Atrybuty
W poniższym przykładzie pokazano, jak InterfaceTypeAttribute
steruje sposobem uwidocznienia interfejsu w modelu COM.
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
Ten atrybut można zastosować do interfejsów.
Domyślnie Tlbexp.exe (eksporter biblioteki typów) uwidacznia zarządzany interfejs COM jako podwójny interfejs, zapewniając elastyczność późnego powiązania lub wydajność wczesnego powiązania. Wyliczenie ComInterfaceType umożliwia zastąpienie domyślnego zachowania i określenie tylko późnego powiązania lub wcześniejszego powiązania. Można na przykład zastosować InterfaceType (ComInterfaceType.InterfaceIsIDispatch)
do interfejsu w celu wygenerowania metadanych w celu ograniczenia wywołań tylko do późnego powiązania. Chociaż interfejsy pochodzące z interfejsu IDispatch
są często podwójne, InterfaceIsIDispatch
element członkowski wyliczania umożliwia tylko późne wywołania metod interfejsu. Ten atrybut nie ma wpływu na widok zarządzany interfejsu. Aby uzyskać dodatkowe informacje na temat sposobu uwidaczniania interfejsów w modelu COM, zobacz Eksportowanie konwersji typów.
Tlbimp.exe (importer biblioteki typów) stosuje również ten atrybut do importowanych, nieumyślnie interfejsów; stosuje odpowiedni element członkowski wyliczenia, aby wskazać, że interfejs jest tylko do wysyłania lub IUnknown
tylko ..
Interface |
Inicjuje InterfaceTypeAttribute nowe wystąpienie klasy przy użyciu określonego ComInterfaceType elementu członkowskiego wyliczenia. |
Interface |
Inicjuje InterfaceTypeAttribute nowe wystąpienie klasy przy użyciu określonego ComInterfaceType elementu członkowskiego wyliczenia. |
Type |
Po zaimplementowaniu w klasie pochodnej pobiera unikatowy identyfikator dla tego elementu Attribute. (Odziedziczone po Attribute) |
Value |
ComInterfaceType Pobiera wartość, która opisuje sposób uwidocznienia interfejsu w modelu COM. |
Equals(Object) |
Zwraca wartość wskazującą, czy to wystąpienie jest równe podanemu obiektowi. (Odziedziczone po Attribute) |
Get |
Zwraca wartość skrótu dla tego wystąpienia. (Odziedziczone po Attribute) |
Get |
Type Pobiera bieżące wystąpienie. (Odziedziczone po Object) |
Is |
W przypadku zastąpienia w klasie pochodnej wskazuje, czy wartość tego wystąpienia jest wartością domyślną klasy pochodnej. (Odziedziczone po Attribute) |
Match(Object) |
W przypadku zastąpienia w klasie pochodnej zwraca wartość wskazującą, czy to wystąpienie jest równe określonemu obiektowi. (Odziedziczone po Attribute) |
Memberwise |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
To |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
_Attribute. |
Zestaw nazw jest mapowany na odpowiedni zestaw identyfikatorów wysyłania. (Odziedziczone po Attribute) |
_Attribute. |
Pobiera informacje o typie obiektu, którego można użyć do pobrania informacji o typie interfejsu. (Odziedziczone po Attribute) |
_Attribute. |
Pobiera informację o liczbie typów interfejsów, jakie zawiera obiekt (0 lub 1). (Odziedziczone po Attribute) |
_Attribute. |
Umożliwia dostęp do właściwości i metod udostępnianych przez obiekt. (Odziedziczone po Attribute) |
Produkt | Wersje |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1 |
UWP | 10.0 |
Opinia o produkcie .NET
.NET to projekt typu open source. Wybierz link, aby przekazać opinię: