Partager via


IScorable<Item,Score> Interface

Définition

Autorisez le scoring des éléments, avec une comparaison externe des scores, et autorisez le gagnant à prendre des mesures.

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

Paramètres de type

Item
Ce paramètre de type est contravariant. Cela signifie que vous pouvez utiliser le type spécifié ou tout type moins dérivé. Pour plus d’informations sur la covariance et la contravariance, consultez Covariance et contravariance dans les génériques.
Score
Ce paramètre de type est covariant. Cela signifie que vous pouvez utiliser le type spécifié ou tout type plus dérivé. Pour plus d’informations sur la covariance et la contravariance, consultez Covariance et contravariance dans les génériques.
Dérivé

Remarques

Nous avons évité le modèle traditionnel « bool TryScore(Item, object state, out Score score) » pour autoriser la covariance de paramètre de type générique Score.

Méthodes

DoneAsync(Item, Object, CancellationToken)

Le processus de scoring est terminé : supprimer toutes les ressources délimitées.

GetScore(Item, Object)

Obtient le score de cet élément.

HasScore(Item, Object)

Retourne si ce scorable souhaite participer au scoring de cet élément.

PostAsync(Item, Object, CancellationToken)

Si cette méthode est gagnante, cette méthode est appelée.

PrepareAsync(Item, CancellationToken)

Effectuez un travail asynchrone pour analyser l’élément et produire un état opaque.

Méthodes d’extension

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

Projetez l’élément d’un scorable à l’aide d’une expression lambda.

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

Projetez le score d’un scorable à l’aide d’une expression lambda.

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

Appelez le protocole d’appel scorable sur un seul scorable.

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

Autorisez le scoring des éléments, avec une comparaison externe des scores, et autorisez le gagnant à prendre des mesures.

S’applique à