Share via


ScorableBase<Item,State,Score> Class

Definition

Allow for static type checking of opaque state for convenience of scorable implementations.

[System.Serializable]
public abstract class ScorableBase<Item,State,Score> : Microsoft.Bot.Builder.Scorables.IScorable<Item,Score>
[<System.Serializable>]
type ScorableBase<'Item, 'State, 'Score> = class
    interface IScorable<'Item, 'Score>
Public MustInherit Class ScorableBase(Of Item, State, Score)
Implements IScorable(Of Item, Score)

Type Parameters

Item
State
Score
Inheritance
ScorableBase<Item,State,Score>
Derived
Attributes
Implements

Remarks

The IScorable methods are marked with DebuggerStepThrough because once the compiler has verified the type safety of the derived class that implements the abstract State-typed methods, these DebuggerStepThrough methods will not throw exceptions due to runtime type errors.

Constructors

ScorableBase<Item,State,Score>()

Methods

DoneAsync(Item, State, CancellationToken)
GetScore(Item, State)
HasScore(Item, State)
PostAsync(Item, State, CancellationToken)
PrepareAsync(Item, CancellationToken)

Explicit Interface Implementations

IScorable<Item,Score>.DoneAsync(Item, Object, CancellationToken)
IScorable<Item,Score>.GetScore(Item, Object)
IScorable<Item,Score>.HasScore(Item, Object)
IScorable<Item,Score>.PostAsync(Item, Object, CancellationToken)
IScorable<Item,Score>.PrepareAsync(Item, CancellationToken)

Extension Methods

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

Project the item of a scorable using a lambda expression.

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

Project the score of a scorable using a lambda expression.

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

Invoke the scorable calling protocol against a single scorable.

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

Applies to