CollectionAdapters.ToIListContract Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перегрузки
ToIListContract<T>(IList<T>) |
Преобразовывает выбранную коллекцию IList<T> в коллекцию IListContract<T>. |
ToIListContract<TView,TContract>(IList<TView>, Converter<TView,TContract>, Converter<TContract,TView>) |
Преобразует выбранную коллекцию IList<T> в коллекцию IListContract<T> с использованием адаптеров преобразователя. |
ToIListContract<T>(IList<T>)
Преобразовывает выбранную коллекцию IList<T> в коллекцию 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)
Параметры типа
- T
Тип объектов, содержащихся в списке. T
должен быть сериализуемым.
Параметры
- collection
- IList<T>
Коллекция для преобразования.
Возвращаемое значение
Преобразованная коллекция.
Примеры
В следующем примере реализуется класс , определяющий сегмент конвейера адаптера на стороне надстройки. Он адаптирует пользовательский ProcessBooks
метод, принимая коллекцию IList<T> , переданную из сегмента представления надстройки, и преобразуя ее IListContract<T> в коллекцию, которую можно маршалировать через границу изоляции в узел.
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
Комментарии
Коллекция IListContract<T> может быть маршалирована через границу изоляции между надстройкой и ее ведущим приложением.
Этот метод следует использовать только в том случае, если содержимое IList<T> коллекции представляет собой сериализуемые типы, которые могут передаваться непосредственно в контракт (а не типы, которые должны быть адаптированы к контрактам).
Применяется к
ToIListContract<TView,TContract>(IList<TView>, Converter<TView,TContract>, Converter<TContract,TView>)
Преобразует выбранную коллекцию IList<T> в коллекцию IListContract<T> с использованием адаптеров преобразователя.
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)
Параметры типа
- TView
Тип, определяющий вид объектов в списке.
- TContract
Тип, определяющий контракт для передающихся объектов типа TView
через изолирующую границу.
Параметры
- collection
- IList<TView>
Коллекция для преобразования.
- viewContractAdapter
- Converter<TView,TContract>
Преобразователь, адаптирующий данные типа, определенные в представлении к типу, ожидаемому в контракте.
- contractViewAdapter
- Converter<TContract,TView>
Преобразователь, адаптирующий данные типа, определенного в контракте к типу, ожидаемому в представлении.
Возвращаемое значение
Преобразованная коллекция.
Комментарии
Используйте эту перегрузку метода для IList<T> коллекций, содержащих типы, которые должны быть адаптированы к контрактам перед их передачей в контракт (а не простые сериализуемые типы, которые можно передавать напрямую). Коллекция IListContract<T> может быть маршалирована через границу изоляции между надстройкой и ее ведущим приложением.