Sdílet prostřednictvím


CollectionAdapters.ToIList Metoda

Definice

Přetížení

ToIList<T>(IListContract<T>)

Převede zadanou IListContract<T> kolekci na kolekci IList<T> .

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

Převede zadanou IListContract<T> kolekci na kolekci IList<T> pomocí adaptérů převaděčů.

ToIList<T>(IListContract<T>)

Převede zadanou IListContract<T> kolekci na kolekci IList<T> .

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 objektů, které jsou obsaženy v seznamu. T musí být serializovatelné.

Parametry

collection
IListContract<T>

Kolekce z druhé strany kanálu.

Návraty

Převedená kolekce.

Příklady

Následující příklad implementuje segment kanálu adaptéru na straně hostitele, jak je popsáno v Návodu: Předávání kolekcí mezi hostiteli a doplňky. Příklad přizpůsobí vlastní ProcessBooks metodu tak, že převezme kolekci IListContract<T> předanou z doplňku a převede ji na kolekci IList<T> , kterou pak může použít hostitelská aplikace.

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

Poznámky

Vrácenou kolekci může použít IList<T> hostitelská aplikace nebo doplněk. Kolekce IList<T> bude mít pro vzdálenou IListContract<T> kolekci token životnosti.

Tuto metodu byste měli použít pouze v případě, že obsah IListContract<T> jsou serializovatelné typy, které lze předat přímo do doplňku a hostitele (spíše než typy, které musí být upraveny do zobrazení).

Platí pro

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

Převede zadanou IListContract<T> kolekci na kolekci IList<T> pomocí adaptérů převaděčů.

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, který definuje kontrakt pro předávání objektů typu TView přes hranici izolace.

TView

Typ, který definuje zobrazení objektů v seznamu.

Parametry

collection
IListContract<TContract>

Kolekce, která se má předat na druhou stranu kanálu.

contractViewAdapter
Converter<TContract,TView>

Převaděč, který přizpůsobí data z typu definovaného v kontraktu na typ očekávaný v zobrazení.

viewContractAdapter
Converter<TView,TContract>

Převaděč, který přizpůsobí data z typu definovaného v zobrazení typu očekávanému kontraktem.

Návraty

IList<TView>

Převedená kolekce.

Poznámky

Použijte tuto metodu přetížení pro IListContract<T> kolekce, které obsahují typy, které musí být upraveny před jejich předáním do doplňku nebo hostitele (spíše než jednoduché serializovatelné typy, které mohou být předány přímo). Vrácenou kolekci může použít IList<T> hostitelská aplikace nebo doplněk. Bude mít token životnosti vzdáleného objektu IListContract<T>.

Platí pro