Język

ContractHandle Klasa

Definicja

Udostępnia metody kontrolujące okres istnienia dodatku.

public ref class ContractHandle : IDisposable
public class ContractHandle : IDisposable
type ContractHandle = class
    interface IDisposable
Public Class ContractHandle
Implements IDisposable
Dziedziczenie
ContractHandle
Implementuje

Przykłady

W poniższym przykładzie pokazano, jak ustawić uchwyt tokenu okresu istnienia w adapterze contract-to-view po stronie dodatku potoku.

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

Uwagi

Ponieważ model dodatku umożliwia dodatki do komunikowania się między domenami aplikacji i między procesami, nie może polegać na modułu odśmiecania pamięci w celu ich odzyskania. Ta klasa udostępnia mechanizm zliczania odwołań dla dodatku, uzyskując token okresu istnienia do kontraktu.

Gdy ContractHandle obiekt jest skonstruowany, wywołuje metodę AcquireLifetimeToken w kontrakcie przekazywanym do konstruktora. ContractHandle Gdy obiekt zostanie usunięty lub sfinalizowany, wywołuje RevokeLifetimeToken metodę kontraktu, która usuwa jego blokadę w kontrakcie.

Adaptery implementują kontrakt. Klasa ContractHandle została zaprojektowana tak, aby była używana w adapterze contract-to-view, aby ułatwić deweloperom potoków zarządzanie okresem istnienia kontraktu, który jest dostosowywany. Zazwyczaj wystąpienie tej klasy jest tworzone podczas budowy klasy adaptera i jest przechowywane w polu wystąpienia adaptera. Gdy klasa adaptera jest zbierana na śmieci, obiekt zostanie również zebrany, ContractHandle a ContractHandle obiekt odwoła token okresu istnienia kontraktu.

Zaleca się, aby karty widok-kontrakt dziedziczyły z ContractBase klasy . Następnie można użyć domyślnej implementacji dla członków programu IContract, co oznacza, że musisz zaimplementować tylko członków określonej umowy.

Konstruktory

Nazwa Opis
ContractHandle(IContract)

Inicjuje nowe wystąpienie klasy ContractHandle.

Właściwości

Nazwa Opis
Contract

Pobiera kontrakt używany przez potok.

Metody

Nazwa Opis
AppDomainOwner(AppDomain)

Pobiera wystąpienie karty dodatku po utworzeniu domeny aplikacji.

ContractOwnsAppDomain(IContract, AppDomain)

Określa, czy domena aplikacji jest własnością określonego kontraktu.

Dispose()

Odwołuje token okresu istnienia kontraktu, niezależnie od danych wejściowych.

Dispose(Boolean)

Odwołuje token okresu istnienia kontraktu niezależnie od danych wejściowych i opcjonalnie zwalnia zarządzane zasoby.

Equals(Object)

Określa, czy określony obiekt jest równy bieżącemu obiektowi.

(Odziedziczone po Object)
Finalize()

Zwalnia zasoby skojarzone z wystąpieniem ContractHandle .

GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Pobiera Type bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Object.

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy