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