CollectionAdapters.ToIListContract Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
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.