Idioma

IScorable<Item,Score> Interface

Definição

Permitir a pontuação dos itens, com comparação externa das 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 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 tradicional "bool TryScore(item item, object state, out Score score)" para permitir a covariância genérica do parâmetro do tipo Score.

Métodos

Name Descrição
DoneAsync(Item, Object, CancellationToken)

O processo de pontuação foi concluído – elimine quaisquer recursos com o âmbito definido.

GetScore(Item, Object)

Recebe a pontuação deste item.

HasScore(Item, Object)

Devolve se esta pontuadora quer participar na pontuação deste item.

PostAsync(Item, Object, CancellationToken)

Se este pontuável ganhar, este método é chamado.

PrepareAsync(Item, CancellationToken)

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

Métodos da Extensão

Name Descrição
SelectItem<SourceItem,TargetItem,Score>(IScorable<TargetItem,Score>, Func<SourceItem,TargetItem>)

Project o item de um pontuável usando uma expressão lambda.

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

Project a pontuação de um pontuável usando uma expressão lambda.

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

Invocar o protocolo de chamada marcável contra um único marcável.

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

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

Aplica-se a