Język

IScorable<Item,Score> Interfejs

Definicja

Pozwól na punktowanie przedmiotów, z zewnętrznym porównaniem punktów, i pozwól zwycięzcy podjąć jakieś działania.

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

Parametry typu

Item
Ten parametr typu jest kontrawariantny. Oznacza to, że możesz użyć typu, który został przez Ciebie określony, lub dowolnego typu, który jest mniej pochodny. Aby uzyskać więcej informacji o kowariancji i kontrawariancji, zobacz Kowariancja i kontrawariancja w typach ogólnych.
Score
Ten parametr typu jest kowariantny. Oznacza to, że możesz użyć typu, który został przez Ciebie określony, lub dowolnego typu, który jest bardziej pochodny. Aby uzyskać więcej informacji o kowariancji i kontrawariancji, zobacz Kowariancja i kontrawariancja w typach ogólnych.
Pochodne

Uwagi

Uniknęliśmy tradycyjnego wzoru "bool TryScore(przedmiot, stan obiektu, wynik wyniku)", aby umożliwić kowariancję parametrów typu Score generyczny.

Metody

Nazwa Opis
DoneAsync(Item, Object, CancellationToken)

Proces oceniania zakończony – pozbycie się wszelkich ograniczonych zasobów.

GetScore(Item, Object)

Zdobywa punkt za ten przedmiot.

HasScore(Item, Object)

Zwraca, czy ten punktowany chce wziąć udział w zdobywaniu punktacji.

PostAsync(Item, Object, CancellationToken)

Jeśli ten punkt wygra, ta metoda jest wywoływana.

PrepareAsync(Item, CancellationToken)

Wykonaj trochę pracy asynchronicznej, aby przeanalizować przedmiot i uzyskać stan nieprzezroczysty.

Metody rozszerzania

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

Project element punktowalnej za pomocą wyrażenia lambda.

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

Project wynik punktowalnego za pomocą wyrażenia lambda.

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

Uruchom protokół wywołania do oceniania dla pojedynczego punktowalnego.

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

Pozwól na punktowanie przedmiotów, z zewnętrznym porównaniem punktów, i pozwól zwycięzcy podjąć jakieś działania.

Dotyczy