CollectionAdapters.ToIList 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
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>
一个将数据从视图中定义的类型改编为协定预期的类型的转换器。
返回
已转换的集合。
注解
将此方法重载用于 IListContract<T> 包含必须调整的类型才能传递到外接程序或主机 (的集合,而不是直接) 传递的简单可序列化类型。 主机应用程序或外接程序可以使用返回的 IList<T> 集合。 它将具有远程 IListContract<T>的生存期令牌。