Condividi tramite


CollectionAdapters.ToIListContract Metodo

Definizione

Overload

ToIListContract<T>(IList<T>)

Converte un insieme IList<T> specificato in un insieme IListContract<T>.

ToIListContract<TView,TContract>(IList<TView>, Converter<TView,TContract>, Converter<TContract,TView>)

Converte un insieme IList<T> specificato in un insieme IListContract<T> mediante adattatori del convertitore.

ToIListContract<T>(IList<T>)

Converte un insieme IList<T> specificato in un insieme 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)

Parametri di tipo

T

Tipo di oggetti contenuti nell'elenco. T deve essere serializzabile.

Parametri

collection
IList<T>

Raccolta da convertire.

Restituisce

Insieme convertito.

Esempio

Nell'esempio seguente viene implementata la classe che definisce un segmento di pipeline dell'adattatore laterale del componente aggiuntivo. Adatta il metodo personalizzato ProcessBooks prendendo la IList<T> raccolta passata dal segmento di visualizzazione del componente aggiuntivo e convertendola in una IListContract<T> raccolta che può essere sottoposto a marshalling attraverso il limite di isolamento all'host.

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

Commenti

La IListContract<T> raccolta può essere sottoposto a marshalling attraverso il limite di isolamento tra il componente aggiuntivo e l'applicazione host.

È consigliabile utilizzare questo overload di metodo solo quando il contenuto della IList<T> raccolta è tipi serializzabili che possono essere passati direttamente al contratto (anziché tipi che devono essere adattati in contratti).

Si applica a

ToIListContract<TView,TContract>(IList<TView>, Converter<TView,TContract>, Converter<TContract,TView>)

Converte un insieme IList<T> specificato in un insieme IListContract<T> mediante adattatori del convertitore.

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)

Parametri di tipo

TView

Tipo che definisce la visualizzazione degli oggetti nell'elenco.

TContract

Tipo che definisce il contratto per il passaggio di oggetti di tipo TView attraverso il limite di isolamento.

Parametri

collection
IList<TView>

Raccolta da convertire.

viewContractAdapter
Converter<TView,TContract>

Convertitore che adatta i dati dal tipo definito nella visualizzazione al tipo previsto dal contratto.

contractViewAdapter
Converter<TContract,TView>

Convertitore che adatta i dati dal tipo definito nel contratto al tipo previsto nella visualizzazione.

Restituisce

IListContract<TContract>

Insieme convertito.

Commenti

Utilizzare questo overload del metodo per IList<T> le raccolte che contengono tipi che devono essere adattati nei contratti prima che possano essere passati al contratto (anziché semplici tipi serializzabili che possono essere passati direttamente). La IListContract<T> raccolta può essere sottoposto a marshalling attraverso il limite di isolamento tra un componente aggiuntivo e l'applicazione host.

Si applica a