Lenguaje

IScorable<Item,Score> Interfaz

Definición

Permitir la puntuación de los ítems, con comparación externa de las puntuaciones, y permitir que el ganador realice alguna acción.

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 es contravariante, es decir, puede usar el tipo que haya especificado o cualquier tipo menos derivado. Si desea obtener más información sobre la covarianza y la contravarianza, consulte Covarianza y contravarianza en genéricos.
Score
Este parámetro de tipo es covariante, es decir, puede usar el tipo que haya especificado o cualquier tipo más derivado. Si desea obtener más información sobre la covarianza y la contravarianza, consulte Covarianza y contravarianza en genéricos.
Derivado

Comentarios

Evitamos el patrón tradicional de "bool TryScore(Item item, object state, out Score score)" para permitir la covarianza genérica del parámetro tipo Score.

Métodos

Nombre Description
DoneAsync(Item, Object, CancellationToken)

El proceso de puntuación ha completado: elimina cualquier recurso con alcance.

GetScore(Item, Object)

Obtiene la puntuación de este artículo.

HasScore(Item, Object)

Devuelve si este puntuable quiere participar en la puntuación de este elemento.

PostAsync(Item, Object, CancellationToken)

Si gana este puntuable, se llama este método.

PrepareAsync(Item, CancellationToken)

Realiza trabajo asíncrono para analizar el elemento y producir un estado opaco.

Métodos de extensión

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

Project el elemento de una puntuable usando una expresión lambda.

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

Project la puntuación de una puntuable usando una expresión lambda.

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

Invoca el protocolo de llamada puntuable contra un único scotable.

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

Permitir la puntuación de los ítems, con comparación externa de las puntuaciones, y permitir que el ganador realice alguna acción.

Se aplica a