CollectionAdapters.ToIListContract 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í
ToIListContract<T>(IList<T>) |
Převede zadanou IList<T> kolekci na kolekci IListContract<T> . |
ToIListContract<TView,TContract>(IList<TView>, Converter<TView,TContract>, Converter<TContract,TView>) |
Převede zadanou IList<T> kolekci na kolekci IListContract<T> pomocí adaptérů převaděčů. |
ToIListContract<T>(IList<T>)
Převede zadanou IList<T> kolekci na kolekci IListContract<T> .
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 objektů, které jsou obsaženy v seznamu. T
musí být serializovatelné.
Parametry
- collection
- IList<T>
Kolekce, která se má převést.
Návraty
Převedená kolekce.
Příklady
Následující příklad implementuje třídu , která definuje segment kanálu adaptéru na straně doplňku. Přizpůsobí vlastní ProcessBooks
metodu tak, že převezme IList<T> kolekci předanou ze segmentu zobrazení doplňku a převede ji na IListContract<T> kolekci, která může být uspořádaná přes hranici izolace k hostiteli.
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
Poznámky
Kolekci IListContract<T> je možné uspořádat přes hranici izolace mezi doplňkem a jeho hostitelskou aplikací.
Tuto metodu byste měli použít pouze v případě, že obsah IList<T> kolekce jsou serializovatelné typy, které mohou být předány přímo kontraktu (místo typů, které musí být upraveny na kontrakty).
Platí pro
ToIListContract<TView,TContract>(IList<TView>, Converter<TView,TContract>, Converter<TContract,TView>)
Převede zadanou IList<T> kolekci na kolekci IListContract<T> pomocí adaptérů převaděčů.
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, který definuje zobrazení objektů v seznamu.
- TContract
Typ, který definuje kontrakt pro předávání objektů typu TView
přes hranici izolace.
Parametry
- collection
- IList<TView>
Kolekce, která se má převést.
- viewContractAdapter
- Converter<TView,TContract>
Převaděč, který přizpůsobí data z typu definovaného v zobrazení typu očekávanému kontraktem.
- contractViewAdapter
- Converter<TContract,TView>
Převaděč, který přizpůsobí data z typu definovaného v kontraktu na typ očekávaný v zobrazení.
Návraty
Převedená kolekce.
Poznámky
Použijte tuto metodu přetížení pro IList<T> kolekce, které obsahují typy, které musí být upraveny do kontraktů před jejich předáním kontraktu (spíše než jednoduché serializovatelné typy, které mohou být předány přímo). Kolekci IListContract<T> je možné uspořádat přes hranici izolace mezi doplňkem a jeho hostitelskou aplikací.