CollectionAdapters.ToIListContract Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Sobrecargas
| Nombre | Description |
|---|---|
| ToIListContract<T>(IList<T>) |
Convierte una colección especificada IList<T> en una IListContract<T> colección. |
| ToIListContract<TView,TContract>(IList<TView>, Converter<TView,TContract>, Converter<TContract,TView>) |
Convierte una colección especificada IList<T> en una IListContract<T> colección mediante adaptadores de convertidor. |
ToIListContract<T>(IList<T>)
Convierte una colección especificada IList<T> en una IListContract<T> colección.
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
Tipo de objetos que se encuentran en la lista.
T debe ser serializable.
Parámetros
- collection
- IList<T>
Colección que se va a convertir.
Devoluciones
Colección convertida.
Ejemplos
En el ejemplo siguiente se implementa la clase que define un segmento de canalización del adaptador del lado del complemento. Adapta el método personalizado ProcessBooks tomando la IList<T> colección pasada desde el segmento de vista de complemento y convirtiéndola en una IListContract<T> colección que se puede serializar a través del límite de aislamiento al 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
Comentarios
La IListContract<T> colección se puede serializar a través del límite de aislamiento entre el complemento y su aplicación host.
Debe usar esta sobrecarga de método solo cuando el contenido de la IList<T> colección sea tipos serializables que se pueden pasar directamente al contrato (en lugar de tipos que deben adaptarse a contratos).
Se aplica a
ToIListContract<TView,TContract>(IList<TView>, Converter<TView,TContract>, Converter<TContract,TView>)
Convierte una colección especificada IList<T> en una IListContract<T> colección mediante adaptadores de convertidor.
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
Tipo que define la vista de los objetos de la lista.
- TContract
Tipo que define el contrato para pasar objetos de tipo TView a través del límite de aislamiento.
Parámetros
- collection
- IList<TView>
Colección que se va a convertir.
- viewContractAdapter
- Converter<TView,TContract>
Convertidor que adapta los datos del tipo definido en la vista al tipo esperado por el contrato.
- contractViewAdapter
- Converter<TContract,TView>
Convertidor que adapta los datos del tipo definido en el contrato al tipo esperado en la vista.
Devoluciones
Colección convertida.
Comentarios
Use esta sobrecarga de método para IList<T> colecciones que contienen tipos que deben adaptarse a contratos antes de que se puedan pasar al contrato (en lugar de tipos serializables simples que se pueden pasar directamente). La IListContract<T> colección se puede serializar a través del límite de aislamiento entre un complemento y su aplicación host.