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>

管线另一端中的集合。

返回

已转换的集合。

示例

以下示例实现主机端适配器管道段,如演练:在主机和外接程序之间传递集合中所述。该示例通过获取从外接程序传递的IListContract<T>集合并将其转换为IList<T>宿主应用程序随后可以使用的集合来调整自定义ProcessBooks方法。

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>的生存期令牌。

适用于