Compartilhar via


IScorable<Item,Score> Interface

Definição

Permitir a pontuação de itens, com comparação externa de pontuações, e permitir que o vencedor tome alguma ação.

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

Parâmetros de tipo

Item
Este parâmetro de tipo é contravariante. Isso significa que é possível usar o tipo especificado ou qualquer tipo menos derivado. Para obter mais informações sobre covariância e contravariância, consulte Covariância e contravariância em genéricos.
Score
Este parâmetro de tipo é covariante. Isso significa que é possível usar o tipo especificado ou qualquer tipo mais derivado. Para obter mais informações sobre covariância e contravariância, consulte Covariância e contravariância em genéricos.
Derivado

Comentários

Evitamos o padrão tradicional "bool TryScore(Item, estado do objeto, pontuação de pontuação de saída)" para permitir a covariância de parâmetro de tipo genérico Score.

Métodos

DoneAsync(Item, Object, CancellationToken)

O processo de pontuação foi concluído – descarte todos os recursos com escopo.

GetScore(Item, Object)

Obtém a pontuação deste item.

HasScore(Item, Object)

Retorna se este escorável deseja participar da pontuação deste item.

PostAsync(Item, Object, CancellationToken)

Se esse escorável vencer, esse método será chamado.

PrepareAsync(Item, CancellationToken)

Execute algum trabalho assíncrono para analisar o item e produzir algum estado opaco.

Métodos de Extensão

SelectItem<SourceItem,TargetItem,Score>(IScorable<TargetItem,Score>, Func<SourceItem,TargetItem>)

Projecione o item de um escorável usando uma expressão lambda.

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

Projecione a pontuação de um escorável usando uma expressão lambda.

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

Invoque o protocolo de chamada ecorável em um único escorável.

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

Permitir a pontuação de itens, com comparação externa de pontuações, e permitir que o vencedor tome alguma ação.

Aplica-se a