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>

コントラクトで定義されている型のデータをビューで想定される型に適合させるコンバーター。

返品

IListContract<TContract>

変換されたコレクション。

注釈

コントラクトに渡す前にコントラクトに適合させる必要がある型を含む IList<T> コレクションには、このメソッド オーバーロードを使用します (直接渡すことができる単純なシリアル化可能な型ではなく)。 IListContract<T> コレクションは、アドインとそのホスト アプリケーションの間の分離境界を越えてマーシャリングできます。

適用対象