Partilhar via


IScorable<Item,Score> Interface

Definição

Permita a classificação de itens, com comparação externa de pontuações, e permita que o vencedor tome algumas medidas.

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

Parâmetros de Tipo Genérico

Item
Este parâmetro de tipo é contravariante. Ou seja, pode utilizar o tipo que especificou ou qualquer tipo que seja menos derivado. Para obter mais informações sobre covariância e contravariância, veja Covariância e Contravariância em Genérico.
Score
Este parâmetro de tipo é covariante. Ou seja, pode utilizar o tipo que especificou ou qualquer tipo que seja mais derivado. Para obter mais informações sobre covariância e contravariância, veja Covariância e Contravariância em Genérico.
Derivado

Observações

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

Métodos

DoneAsync(Item, Object, CancellationToken)

O processo de classificação foi concluído – elimine todos os recursos no âmbito.

GetScore(Item, Object)

Obtém a classificação para este item.

HasScore(Item, Object)

Devolve se este scorable quer participar na classificação deste item.

PostAsync(Item, Object, CancellationToken)

Se este scorable ganhar, este método é chamado.

PrepareAsync(Item, CancellationToken)

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

Métodos da Extensão

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

Projete o item de um scorable com uma expressão lambda.

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

Projetar a classificação de um scorable com uma expressão lambda.

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

Invoque o protocolo de chamadacorável num único scorable.

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

Permita a classificação de itens, com comparação externa de pontuações, e permita que o vencedor tome algumas medidas.

Aplica-se a