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
这是协变类型参数。 即,可以使用指定的类型,也可以使用派生程度较高的任何类型。 有关协变和逆变的详细信息,请参阅泛型中的协变和逆变
派生

注解

我们避免了传统的“bool TryScore (Item, object state, out 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>)

使用 lambda 表达式投影可评分项。

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

使用 lambda 表达式投影可评分项的分数。

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

对单个可评分项调用可评分调用协议。

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

允许项目评分,并外部比较分数,并使获胜者能够采取一些操作。

适用于