CollectionAdapters.ToIListContract Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Sobrecargas
ToIListContract<T>(IList<T>) |
Converte uma coleção IList<T> especificada em uma coleção IListContract<T>. |
ToIListContract<TView,TContract>(IList<TView>, Converter<TView,TContract>, Converter<TContract,TView>) |
Converte uma coleção IList<T> especificada em uma coleção IListContract<T> usando adaptadores conversores. |
ToIListContract<T>(IList<T>)
Converte uma coleção IList<T> especificada em uma coleção 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)
Parâmetros de tipo
- T
O tipo de objetos contidos na lista. T
deve ser serializável.
Parâmetros
- collection
- IList<T>
A coleção a ser convertida.
Retornos
A coleção convertida.
Exemplos
O exemplo a seguir implementa a classe que define um segmento de pipeline do adaptador lateral do suplemento. Ele adapta o método personalizado ProcessBooks
pegando a IList<T> coleção passada do segmento de exibição de suplemento e convertendo-a em uma IListContract<T> coleção que pode ser marshalada no limite de isolamento para o 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
Comentários
A IListContract<T> coleção pode ser marshalada entre o limite de isolamento entre o suplemento e seu aplicativo host.
Você deve usar essa sobrecarga de método somente quando o conteúdo da IList<T> coleção for de tipos serializáveis que podem ser passados diretamente para o contrato (em vez de tipos que devem ser adaptados em contratos).
Aplica-se a
ToIListContract<TView,TContract>(IList<TView>, Converter<TView,TContract>, Converter<TContract,TView>)
Converte uma coleção IList<T> especificada em uma coleção IListContract<T> usando adaptadores conversores.
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)
Parâmetros de tipo
- TView
O tipo que define a exibição dos objetos na lista.
- TContract
O tipo que define o contrato para passar objetos do tipo TView
no limite de isolamento.
Parâmetros
- collection
- IList<TView>
A coleção a ser convertida.
- viewContractAdapter
- Converter<TView,TContract>
Um conversor que se adapta os dados do tipo definido na exibição para o tipo esperado no contrato.
- contractViewAdapter
- Converter<TContract,TView>
Um conversor que se adapta os dados do tipo definido no contrato para o tipo esperado na exibição.
Retornos
A coleção convertida.
Comentários
Use essa sobrecarga de método para IList<T> coleções que contêm tipos que devem ser adaptados em contratos antes que possam ser passados para o contrato (em vez de tipos serializáveis simples que podem ser passados diretamente). A IListContract<T> coleção pode ser marshalada no limite de isolamento entre um suplemento e seu aplicativo host.