CollectionAdapters.ToIList 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
ToIList<T>(IListContract<T>) |
Convierte la colección IListContract<T> especificada en una colección IList<T>. |
ToIList<TContract,TView>(IListContract<TContract>, Converter<TContract,TView>, Converter<TView,TContract>) |
Convierte la colección IListContract<T> especificada en una colección IList<T> utilizando adaptadores de convertidor. |
ToIList<T>(IListContract<T>)
Convierte la colección IListContract<T> especificada en una colección IList<T>.
public:
generic <typename T>
static System::Collections::Generic::IList<T> ^ ToIList(System::AddIn::Contract::IListContract<T> ^ collection);
public static System.Collections.Generic.IList<T> ToIList<T> (System.AddIn.Contract.IListContract<T> collection);
static member ToIList : System.AddIn.Contract.IListContract<'T> -> System.Collections.Generic.IList<'T>
Public Shared Function ToIList(Of T) (collection As IListContract(Of T)) As IList(Of T)
Parámetros de tipo
- T
Tipo de objetos incluidos en la lista. T
debe ser serializable.
Parámetros
- collection
- IListContract<T>
Colección al otro lado de la canalización.
Devoluciones
Colección que se ha convertido.
Ejemplos
En el ejemplo siguiente se implementa un segmento de canalización de adaptador del lado host, como se describe Tutorial: Pasar colecciones entre hosts y complementos. En el ejemplo se adapta el método personalizado ProcessBooks
tomando la IListContract<T> colección pasada desde el complemento y convirtiéndola en una IList<T> colección, que la aplicación host puede usar.
public virtual void ProcessBooks(IListContract<Library.IBookInfoContract> books)
{
_view.ProcessBooks(CollectionAdapters.ToIList<Library.IBookInfoContract,
LibraryContractsBase.BookInfo>(books,
LibraryContractsAddInAdapters.BookInfoAddInAdapter.ContractToViewAdapter,
LibraryContractsAddInAdapters.BookInfoAddInAdapter.ViewToContractAdapter));
}
Public Overridable Sub ProcessBooks(ByVal books As IListContract(Of Library.IBookInfoContract)) Implements Library.ILibraryManagerContract.ProcessBooks
_view.ProcessBooks(CollectionAdapters.ToIList(Of Library.IBookInfoContract, _
LibraryContractsBase.BookInfo)(books, _
AddressOf LibraryContractsAddInAdapters.BookInfoAddInAdapter.ContractToViewAdapter, _
AddressOf LibraryContractsAddInAdapters.BookInfoAddInAdapter.ViewToContractAdapter))
End Sub
Comentarios
La aplicación host o el complemento pueden usar la colección devuelta IList<T> . La IList<T> colección tendrá un token de duración para la colección remota IListContract<T> .
Debe usar esta sobrecarga de método solo cuando el contenido de IListContract<T> son tipos serializables que se pueden pasar directamente al complemento y al host (en lugar de los tipos que se deben adaptar a las vistas).
Se aplica a
ToIList<TContract,TView>(IListContract<TContract>, Converter<TContract,TView>, Converter<TView,TContract>)
Convierte la colección IListContract<T> especificada en una colección IList<T> utilizando adaptadores de convertidor.
public:
generic <typename TContract, typename TView>
static System::Collections::Generic::IList<TView> ^ ToIList(System::AddIn::Contract::IListContract<TContract> ^ collection, Converter<TContract, TView> ^ contractViewAdapter, Converter<TView, TContract> ^ viewContractAdapter);
public static System.Collections.Generic.IList<TView> ToIList<TContract,TView> (System.AddIn.Contract.IListContract<TContract> collection, Converter<TContract,TView> contractViewAdapter, Converter<TView,TContract> viewContractAdapter);
static member ToIList : System.AddIn.Contract.IListContract<'Contract> * Converter<'Contract, 'View> * Converter<'View, 'Contract> -> System.Collections.Generic.IList<'View>
Public Shared Function ToIList(Of TContract, TView) (collection As IListContract(Of TContract), contractViewAdapter As Converter(Of TContract, TView), viewContractAdapter As Converter(Of TView, TContract)) As IList(Of TView)
Parámetros de tipo
- TContract
Tipo que define el contrato para pasar objetos de tipo TView
más allá del límite de aislamiento.
- TView
Tipo que define la vista de los objetos de la lista.
Parámetros
- collection
- IListContract<TContract>
Colección que se va a pasar al otro lado de la canalización.
- contractViewAdapter
- Converter<TContract,TView>
Convertidor que adapta los datos del tipo definido en el contrato al tipo que se espera en la vista.
- viewContractAdapter
- Converter<TView,TContract>
Convertidor que adapta los datos del tipo definido en la vista al tipo que se espera en el contrato.
Devoluciones
Colección que se ha convertido.
Comentarios
Use esta sobrecarga de método para IListContract<T> colecciones que contienen tipos que deben adaptarse antes de que se puedan pasar al complemento o al host (en lugar de tipos serializables simples que se pueden pasar directamente). La aplicación host o el complemento pueden usar la colección devuelta IList<T> . Tendrá un token de duración para el remoto IListContract<T>.