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
ToIListContract<T>(IList<T>) |
Convierte la colección IList<T> especificada en una colección IListContract<T>. |
ToIListContract<TView,TContract>(IList<TView>, Converter<TView,TContract>, Converter<TContract,TView>) |
Convierte la colección IList<T> especificada en una colección IListContract<T> utilizando adaptadores de convertidor. |
ToIListContract<T>(IList<T>)
Convierte la colección IList<T> especificada en una colección 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
Tipo de objetos incluidos en la lista. T
debe ser serializable.
Parámetros
- collection
- IList<T>
Colección que se va a convertir.
Devoluciones
Colección que se ha convertido.
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 se deben adaptar a contratos).
Se aplica a
ToIListContract<TView,TContract>(IList<TView>, Converter<TView,TContract>, Converter<TContract,TView>)
Convierte la colección IList<T> especificada en una colección IListContract<T> utilizando 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
más allá 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 que se espera en el contrato.
- contractViewAdapter
- Converter<TContract,TView>
Convertidor que adapta los datos del tipo definido en el contrato al tipo que se espera en la vista.
Devoluciones
Colección que se ha convertido.
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.