次の方法で共有


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>の有効期間トークンが含まれます。

適用対象