Share via


MessageQueryCollection.Evaluate メソッド

定義

メッセージに対してクエリを実行し、クエリを満たす値を返します。

オーバーロード

Evaluate<TResult>(Message)

メッセージに対してクエリを実行し、結果を返します。 本文に対してはクエリを実行できません。

Evaluate<TResult>(MessageBuffer)

メッセージに対してクエリを実行し、結果を返します。

注釈

この 2 つのオーバーロードの違いは、一方は Message パラメーターを受け取り、メッセージ本文を調べることを許可されていないことです。 他方は MessageBuffer パラメーターを受け取り、メッセージの任意の部分を調べることができます。 メッセージ ヘッダーは自動的にバッファーに格納され、その内容を取り込まずにメッセージ ヘッダーに対してクエリを実行できます。 ただし、メッセージ本文に対してクエリを実行する場合は、メッセージ全体がバッファーに格納されている必要があります。バッファーに格納されていないメッセージ本文は、クエリによって取り込まれる可能性があるためです。

Evaluate<TResult>(Message)

メッセージに対してクエリを実行し、結果を返します。 本文に対してはクエリを実行できません。

public:
generic <typename TResult>
 abstract System::Collections::Generic::IEnumerable<System::Collections::Generic::KeyValuePair<System::ServiceModel::Dispatcher::MessageQuery ^, TResult>> ^ Evaluate(System::ServiceModel::Channels::Message ^ message);
public abstract System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<System.ServiceModel.Dispatcher.MessageQuery,TResult>> Evaluate<TResult> (System.ServiceModel.Channels.Message message);
abstract member Evaluate : System.ServiceModel.Channels.Message -> seq<System.Collections.Generic.KeyValuePair<System.ServiceModel.Dispatcher.MessageQuery, 'Result>>
Public MustOverride Function Evaluate(Of TResult) (message As Message) As IEnumerable(Of KeyValuePair(Of MessageQuery, TResult))

型パラメーター

TResult

クエリ結果の型。

パラメーター

message
Message

クエリの実行対象となるメッセージ。

戻り値

IEnumerable<KeyValuePair<MessageQuery,TResult>>

クエリの結果です。 型は、ジェネリック TResult 引数によって決まります。

適用対象

Evaluate<TResult>(MessageBuffer)

メッセージに対してクエリを実行し、結果を返します。

public:
generic <typename TResult>
 abstract System::Collections::Generic::IEnumerable<System::Collections::Generic::KeyValuePair<System::ServiceModel::Dispatcher::MessageQuery ^, TResult>> ^ Evaluate(System::ServiceModel::Channels::MessageBuffer ^ buffer);
public abstract System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<System.ServiceModel.Dispatcher.MessageQuery,TResult>> Evaluate<TResult> (System.ServiceModel.Channels.MessageBuffer buffer);
abstract member Evaluate : System.ServiceModel.Channels.MessageBuffer -> seq<System.Collections.Generic.KeyValuePair<System.ServiceModel.Dispatcher.MessageQuery, 'Result>>
Public MustOverride Function Evaluate(Of TResult) (buffer As MessageBuffer) As IEnumerable(Of KeyValuePair(Of MessageQuery, TResult))

型パラメーター

TResult

返すオブジェクトの型。

パラメーター

buffer
MessageBuffer

クエリの実行対象となるメッセージ。

戻り値

IEnumerable<KeyValuePair<MessageQuery,TResult>>

クエリの結果です。 型は、ジェネリック TResult 引数によって決まります。

適用対象