CollectionAdapters.ToIList Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
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>.