Udostępnij za pośrednictwem


CollectionAdapters.ToIList Metoda

Definicja

Przeciążenia

ToIList<T>(IListContract<T>)

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

ToIList<TContract,TView>(IListContract<TContract>, Converter<TContract,TView>, Converter<TView,TContract>)

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

ToIList<T>(IListContract<T>)

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

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

Parametry typu

T

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

Parametry

collection
IListContract<T>

Kolekcja z drugiej strony potoku.

Zwraca

Przekonwertowana kolekcja.

Przykłady

Poniższy przykład implementuje segment potoku adaptera po stronie hosta zgodnie z opisem Przewodnik: przekazywanie kolekcji między hostami i dodatkiem. Przykład dostosowuje metodę niestandardową ProcessBooks przez pobranie IListContract<T> kolekcji przekazanej z dodatku i przekonwertowanie jej na IList<T> kolekcję, której następnie może użyć aplikacja hosta.

public virtual void ProcessBooks(IListContract<Library.IBookInfoContract> books)
{
    _view.ProcessBooks(CollectionAdapters.ToIList<Library.IBookInfoContract,
        LibraryContractsBase.BookInfo>(books,
        LibraryContractsAddInAdapters.BookInfoAddInAdapter.ContractToViewAdapter,
        LibraryContractsAddInAdapters.BookInfoAddInAdapter.ViewToContractAdapter));
}
Public Overridable Sub ProcessBooks(ByVal books As IListContract(Of Library.IBookInfoContract)) Implements Library.ILibraryManagerContract.ProcessBooks
    _view.ProcessBooks(CollectionAdapters.ToIList(Of Library.IBookInfoContract, _
    LibraryContractsBase.BookInfo)(books, _
    AddressOf LibraryContractsAddInAdapters.BookInfoAddInAdapter.ContractToViewAdapter, _
    AddressOf LibraryContractsAddInAdapters.BookInfoAddInAdapter.ViewToContractAdapter))
End Sub

Uwagi

Aplikacja hosta lub dodatek może używać zwróconej IList<T> kolekcji. Kolekcja IList<T> będzie miała token okresu istnienia dla kolekcji zdalnej IListContract<T> .

Należy użyć tego przeciążenia metody tylko wtedy, gdy zawartość IListContract<T> typów można serializować, które można przekazać bezpośrednio do dodatku i hosta (zamiast typów, które muszą być dostosowane do widoków).

Dotyczy

ToIList<TContract,TView>(IListContract<TContract>, Converter<TContract,TView>, Converter<TView,TContract>)

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

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

Parametry typu

TContract

Typ, który definiuje kontrakt przekazywania obiektów typu TView przez granicę izolacji.

TView

Typ, który definiuje widok obiektów na liście.

Parametry

collection
IListContract<TContract>

Kolekcja do przekazania do drugiej strony potoku.

contractViewAdapter
Converter<TContract,TView>

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

viewContractAdapter
Converter<TView,TContract>

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

Zwraca

IList<TView>

Przekonwertowana kolekcja.

Uwagi

Użyj tego przeciążenia metody dla IListContract<T> kolekcji, które zawierają typy, które muszą być dostosowane przed przekazaniem ich do dodatku lub hosta (zamiast prostych typów serializacji, które można przekazać bezpośrednio). Aplikacja hosta lub dodatek może używać zwróconej IList<T> kolekcji. Będzie on miał token okresu istnienia dla zdalnego IListContract<T>.

Dotyczy