Поделиться через


CollectionAdapters.ToIList Метод

Определение

Перегрузки

ToIList<T>(IListContract<T>)

Преобразовывает выбранную коллекцию IListContract<T> в коллекцию IList<T>.

ToIList<TContract,TView>(IListContract<TContract>, Converter<TContract,TView>, Converter<TView,TContract>)

Преобразует выбранную коллекцию IListContract<T> в коллекцию IList<T> с использованием адаптеров преобразователя.

ToIList<T>(IListContract<T>)

Преобразовывает выбранную коллекцию IListContract<T> в коллекцию 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)

Параметры типа

T

Тип объектов, содержащихся в списке. T должен быть сериализуемым.

Параметры

collection
IListContract<T>

Коллекция из другой стороны конвейера.

Возвращаемое значение

Преобразованная коллекция.

Примеры

В следующем примере реализуется сегмент конвейера адаптера на стороне узла, как описано в разделе Пошаговое руководство. Передача коллекций между узлами и надстройками. В примере адаптируется пользовательский ProcessBooks метод, принимая коллекцию IListContract<T> , переданную из надстройки, и преобразуя ее в коллекцию IList<T> , которую затем может использовать ведущее приложение.

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

Комментарии

Ведущее приложение или надстройка может использовать возвращенную IList<T> коллекцию. Коллекция IList<T> будет иметь маркер времени существования для удаленной IListContract<T> коллекции.

Эту перегрузку метода следует использовать только в том случае, если содержимое IListContract<T> является сериализуемыми типами, которые могут передаваться непосредственно надстройке и ведущему приложению (а не типы, которые должны быть адаптированы к представлениям).

Применяется к

ToIList<TContract,TView>(IListContract<TContract>, Converter<TContract,TView>, Converter<TView,TContract>)

Преобразует выбранную коллекцию IListContract<T> в коллекцию IList<T> с использованием адаптеров преобразователя.

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)

Параметры типа

TContract

Тип, определяющий контракт для передающихся объектов типа TView через изолирующую границу.

TView

Тип, определяющий вид объектов в списке.

Параметры

collection
IListContract<TContract>

Коллекция для передачи другой стороне конвейера.

contractViewAdapter
Converter<TContract,TView>

Преобразователь, адаптирующий данные типа, определенного в контракте к типу, ожидаемому в представлении.

viewContractAdapter
Converter<TView,TContract>

Преобразователь, адаптирующий данные типа, определенные в представлении к типу, ожидаемому в контракте.

Возвращаемое значение

IList<TView>

Преобразованная коллекция.

Комментарии

Используйте эту перегрузку метода для IListContract<T> коллекций, содержащих типы, которые необходимо адаптировать перед их передачей в надстройку или узел (а не простые сериализуемые типы, которые можно передавать напрямую). Ведущее приложение или надстройка может использовать возвращенную IList<T> коллекцию. Он будет иметь маркер времени существования для удаленного .IListContract<T>

Применяется к