Language

IScorable<Item,Score> インターフェイス

定義

項目のスコアリングを外部から比較し、勝者が何らかの行動を取れるようにしましょう。

public interface IScorable<in Item,out Score>
type IScorable<'Item, 'Score> = interface
Public Interface IScorable(Of In Item, Out Score)

型パラメーター

Item
この型パラメーターは反変です。 つまり、指定した型、または弱い派生型のいずれかを使用することができます。 共変性および反変性の詳細については、「ジェネリックの共変性と反変性」をご覧ください。
Score
この型パラメーターは共変です。 つまり、指定した型、または強い派生型のいずれかを使用することができます。 共変性および反変性の詳細については、「ジェネリックの共変性と反変性」をご覧ください。
派生

注釈

従来の「ブールTryScore(Item item, object state, out Score score)」パターンを避け、Scoreの汎用パラメータ共分散を許容しました。

メソッド

名前 説明
DoneAsync(Item, Object, CancellationToken)

スコアリングプロセスは完了しました。スコープされたリソースは処分してください。

GetScore(Item, Object)

この項目のスコアを得ます。

HasScore(Item, Object)

この得点対象がこの項目の得点に参加したいかどうかを返します。

PostAsync(Item, Object, CancellationToken)

この得点対象が勝つと、この方法が呼ばれます。

PrepareAsync(Item, CancellationToken)

非同期作業を行い、アイテムを解析し、不透明な状態を生成します。

拡張メソッド

名前 説明
SelectItem<SourceItem,TargetItem,Score>(IScorable<TargetItem,Score>, Func<SourceItem,TargetItem>)

Project の得点項目をラムダ式で投影します。

SelectScore<Item,SourceScore,TargetScore>(IScorable<Item,SourceScore>, Func<Item,SourceScore,TargetScore>)

Project 得点のスコアをラムダ式で算出します。

TryPostAsync<Item,Score>(IScorable<Item,Score>, Item, CancellationToken)

単一のスコアラブルに対してスコア可能呼び出しプロトコルを呼び出します。

WhereScore<Item,Score>(IScorable<Item,Score>, Func<Item,Score,Boolean>)

項目のスコアリングを外部から比較し、勝者が何らかの行動を取れるようにしましょう。

適用対象