Sdílet prostřednictvím


IScorable<Item,Score> Rozhraní

Definice

Povolte bodování položek s externím porovnáním skóre a umožněte vítězi provést nějakou akci.

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

Parametry typu

Item
Tento parametr typu je kontravariantní. To znamená, že můžete použít buď zadaný typ, nebo libovolný typ, který je méně odvozený. Další informace o kovarianci a kontravarianci najdete v tématu popisujícím kovarianci a kontravarianci u parametrického polymorfismu.
Score
Tento parametr typu je kovariantní. To znamená, že můžete použít buď zadaný typ, nebo libovolný typ, který je více odvozený. Další informace o kovarianci a kontravarianci najdete v tématu popisujícím kovarianci a kontravarianci u parametrického polymorfismu.
Odvozené

Poznámky

Vyhnuli jsme se tradičnímu vzoru "bool TryScore(Item item, object state, out Score score)" (Bool TryScore(Item item, object state, out Score score score score)" (Bool TryScore(Item item, object state, out Score score score)", který by umožňoval kovarianci parametru obecného typu Score.

Metody

DoneAsync(Item, Object, CancellationToken)

Proces bodování byl dokončen – vyřaďte všechny prostředky s vymezeným oborem.

GetScore(Item, Object)

Získá skóre pro tuto položku.

HasScore(Item, Object)

Vrátí, jestli se tato bodovatelná položka chce podílet na vyhodnocování této položky.

PostAsync(Item, Object, CancellationToken)

Pokud tato bodovatelná hodnota vyhraje, je volána tato metoda.

PrepareAsync(Item, CancellationToken)

Proveďte nějakou asynchronní práci, abyste položku analyzovali a vytvořili nějaký neprůspaný stav.

Metody rozšíření

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

Promítněte položku bodovatelného objektu pomocí výrazu lambda.

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

Promítněte skóre bodovatelného pomocí výrazu lambda.

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

Vyvolejte protokol volání scorable proti jednomu bodovatelnému.

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

Povolte bodování položek s externím porovnáním skóre a umožněte vítězi provést nějakou akci.

Platí pro