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

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 item, object state, out Score score)" para permitir a covariância genérica do parâmetro do tipo Score.

Métodos

Nome Description
DoneAsync(Item, Object, CancellationToken)

O processo de pontuação foi concluído - elimine quaisquer recursos com escopo.

GetScore(Item, Object)

Recebe a pontuação desse item.

HasScore(Item, Object)

Retorna se essa pontuadora deseja participar da pontuação deste item.

PostAsync(Item, Object, CancellationToken)

Se esse pontuável vencer, esse método é chamado.

PrepareAsync(Item, CancellationToken)

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

Métodos de Extensão

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

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

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

Project a pontuação de uma pontuação 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