Udostępnij za pośrednictwem


CollectionAdapters.ToIListContract Metoda

Definicja

Przeciążenia

ToIListContract<T>(IList<T>)

Konwertuje określoną IList<T> kolekcję na IListContract<T> kolekcję.

ToIListContract<TView,TContract>(IList<TView>, Converter<TView,TContract>, Converter<TContract,TView>)

Konwertuje określoną IList<T> kolekcję na IListContract<T> kolekcję przy użyciu adapterów konwertera.

ToIListContract<T>(IList<T>)

Konwertuje określoną IList<T> kolekcję na IListContract<T> kolekcję.

public:
generic <typename T>
 static System::AddIn::Contract::IListContract<T> ^ ToIListContract(System::Collections::Generic::IList<T> ^ collection);
public static System.AddIn.Contract.IListContract<T> ToIListContract<T> (System.Collections.Generic.IList<T> collection);
static member ToIListContract : System.Collections.Generic.IList<'T> -> System.AddIn.Contract.IListContract<'T>
Public Shared Function ToIListContract(Of T) (collection As IList(Of T)) As IListContract(Of T)

Parametry typu

T

Typ obiektów, które znajdują się na liście. T musi być serializowalny.

Parametry

collection
IList<T>

Kolekcja do konwersji.

Zwraca

Przekonwertowana kolekcja.

Przykłady

Poniższy przykład implementuje klasę, która definiuje segment potoku adaptera bocznego dodatku. Dostosowuje ona metodę niestandardową ProcessBooks przez pobranie IList<T> kolekcji przekazanej z segmentu widoku dodatku i przekonwertowanie jej na IListContract<T> kolekcję, która może być marshalowana przez granicę izolacji do hosta.

public override void ProcessBooks(IList<LibraryContractsHAV.BookInfo> books) {
    _contract.ProcessBooks(CollectionAdapters.ToIListContract<LibraryContractsHAV.BookInfo,
        Library.IBookInfoContract>(books,
        LibraryContractsHostAdapters.BookInfoHostAdapter.ViewToContractAdapter,
        LibraryContractsHostAdapters.BookInfoHostAdapter.ContractToViewAdapter));
}
Public Overrides Sub ProcessBooks(ByVal books As IList(Of LibraryContractsHAV.BookInfo))
    _contract.ProcessBooks(CollectionAdapters.ToIListContract(Of LibraryContractsHAV.BookInfo, _
    Library.IBookInfoContract)(books, _
    AddressOf LibraryContractsHostAdapters.BookInfoHostAdapter.ViewToContractAdapter, _
    AddressOf LibraryContractsHostAdapters.BookInfoHostAdapter.ContractToViewAdapter))
End Sub

Uwagi

IListContract<T> Kolekcja może być marshalowana przez granicę izolacji między dodatkiem a aplikacją hosta.

Należy użyć tego przeciążenia metody tylko wtedy, gdy zawartość IList<T> kolekcji jest serializacji typów, które mogą być przekazywane bezpośrednio do kontraktu (zamiast typów, które muszą zostać dostosowane do kontraktów).

Dotyczy

ToIListContract<TView,TContract>(IList<TView>, Converter<TView,TContract>, Converter<TContract,TView>)

Konwertuje określoną IList<T> kolekcję na IListContract<T> kolekcję przy użyciu adapterów konwertera.

public:
generic <typename TView, typename TContract>
 static System::AddIn::Contract::IListContract<TContract> ^ ToIListContract(System::Collections::Generic::IList<TView> ^ collection, Converter<TView, TContract> ^ viewContractAdapter, Converter<TContract, TView> ^ contractViewAdapter);
public static System.AddIn.Contract.IListContract<TContract> ToIListContract<TView,TContract> (System.Collections.Generic.IList<TView> collection, Converter<TView,TContract> viewContractAdapter, Converter<TContract,TView> contractViewAdapter);
static member ToIListContract : System.Collections.Generic.IList<'View> * Converter<'View, 'Contract> * Converter<'Contract, 'View> -> System.AddIn.Contract.IListContract<'Contract>
Public Shared Function ToIListContract(Of TView, TContract) (collection As IList(Of TView), viewContractAdapter As Converter(Of TView, TContract), contractViewAdapter As Converter(Of TContract, TView)) As IListContract(Of TContract)

Parametry typu

TView

Typ definiujący widok obiektów na liście.

TContract

Typ definiujący kontrakt przekazywania obiektów typu TView przez granicę izolacji.

Parametry

collection
IList<TView>

Kolekcja do konwersji.

viewContractAdapter
Converter<TView,TContract>

Konwerter, który dostosowuje dane z typu zdefiniowanego w widoku do typu oczekiwanego przez kontrakt.

contractViewAdapter
Converter<TContract,TView>

Konwerter, który dostosowuje dane z typu zdefiniowanego w kontrakcie do typu oczekiwanego w widoku.

Zwraca

IListContract<TContract>

Przekonwertowana kolekcja.

Uwagi

Użyj tego przeciążenia metody dla IList<T> kolekcji zawierających typy, które muszą zostać dostosowane do kontraktów, zanim będą mogły zostać przekazane do kontraktu (zamiast prostych typów możliwych do serializacji, które mogą być przekazywane bezpośrednio). Kolekcja IListContract<T> może być marshalowana przez granicę izolacji między dodatkiem a aplikacją hosta.

Dotyczy