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