CollectionAdapters.ToIListContract メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
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>
変換するコレクション。
戻り値
変換されたコレクション。
例
次の例では、アドイン側アダプター パイプライン セグメントを定義する クラスを実装します。 アドイン ビュー セグメントから渡されたコレクションをIList<T>取得し、分離境界を越えてホストにマーシャリングできるコレクションにIListContract<T>変換することで、カスタム ProcessBooks
メソッドを調整します。
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> 、アドインとそのホスト アプリケーションの間の分離境界を越えてマーシャリングできます。
適用対象
.NET