ContractHandle Klasse

Definition

Stellt Methoden bereit, die die Lebensdauer eines Add-Ins steuern.

public ref class ContractHandle : IDisposable
public class ContractHandle : IDisposable
type ContractHandle = class
    interface IDisposable
Public Class ContractHandle
Implements IDisposable
Vererbung
ContractHandle
Implementiert

Beispiele

Das folgende Beispiel zeigt, wie Sie den Lebensdauertokenpunkt in einem Vertrags-zu-View-Adapter auf der Add-In-Seite einer Pipeline festlegen.

private CalculatorContracts.ICalc2Contract _contract;

private System.AddIn.Pipeline.ContractHandle _handle;

public CalculatorContractToViewHostAdapter(ICalc2Contract contract) {
    _contract = contract;
    _handle = new System.AddIn.Pipeline.ContractHandle(contract);
}
Private _contract As ICalc2Contract
Private _handle As ContractHandle

Public Sub New(ByVal contract As ICalc2Contract)
    _contract = contract
    _handle = New ContractHandle(contract)
End Sub

Hinweise

Da das Add-In-Modell die Möglichkeit bietet, Add-Ins zwischen Anwendungsdomänen und zwischen Prozessen zu kommunizieren, kann es nicht auf den Garbage Collector angewiesen werden, sie zurückzugeben. Diese Klasse stellt einen Referenzzählungsmechanismus für das Add-In bereit, indem ein Lebensdauertoken für den Vertrag abgerufen wird.

Wenn ein ContractHandle Objekt erstellt wird, ruft er die AcquireLifetimeToken Methode für den Vertrag auf, der an den Konstruktor übergeben wird. Wenn das ContractHandle Objekt verworfen oder abgeschlossen wird, ruft er die RevokeLifetimeToken Methode für den Vertrag auf, wodurch der Vertrag entfernt wird.

Adapter implementieren den Vertrag. Die ContractHandle Klasse soll in einem Vertrags-zu-View-Adapter verwendet werden, um Pipelineentwicklern bei der Verwaltung der Lebensdauer des Vertrags zu helfen, der angepasst wird. In der Regel wird eine Instanz dieser Klasse während der Konstruktion der Adapterklasse instanziiert und in einem Instanzfeld des Adapters gespeichert. Wenn die Adapterklasse garbage-collection ist, wird das ContractHandle Objekt auch gesammelt, und das ContractHandle Objekt widerruft das Lebensdauertoken für den Vertrag.

Es wird empfohlen, dass Ihre Ansichts-zu-Vertrag-Adapter von der ContractBase Klasse erben. Sie können dann eine Standardimplementierung für die Mitglieder verwenden IContract, was bedeutet, dass Sie nur die Mitglieder Ihres spezifischen Vertrags implementieren müssen.

Konstruktoren

ContractHandle(IContract)

Initialisiert eine neue Instanz der ContractHandle-Klasse.

Eigenschaften

Contract

Ruft den von einer Pipeline verwendeten Vertrag ab.

Methoden

AppDomainOwner(AppDomain)

Ruft die Instanz des Adapters auf Add-In-Seite bei Erstellung der Anwendungsdomäne ab.

ContractOwnsAppDomain(IContract, AppDomain)

Bestimmt, ob eine Anwendungsdomäne dem angegebenen Vertrag gehört.

Dispose()

Widerruft das Lebensdauertoken für einen Vertrag unabhängig von der Eingabe.

Dispose(Boolean)

Widerruft das Lebensdauertoken für den Vertrag unabhängig von der Eingabe und gibt optional die verwalteten Ressourcen frei.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
Finalize()

Gibt die der ContractHandle-Instanz zugeordneten Ressourcen frei.

GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für