Interface IReactiveCommand<TParam, TResult>
- Namespace
- ReactiveUI
- Assembly
- ReactiveUI.dll
Encapsulates a user action behind a reactive interface. This is for interop inside for the command binding. Not meant for external use due to the fact it doesn't implement ICommand to force the user to favor the Reactive style command execution.
public interface IReactiveCommand<in TParam, out TResult> : IObservable<TResult>, IReactiveCommand, IDisposable, IHandleObservableErrors
Type Parameters
TParam
The type of parameter values passed in during command execution.
TResult
The type of the values that are the result of command execution.
- Inherited Members
- Extension Methods
Remarks
This interface extends IReactive
Methods
Execute()
Gets an observable that, when subscribed, executes this command.
Returns
- IObservable<TResult>
An observable that will tick the single result value if and when it becomes available.
Remarks
Invoking this method will return a cold (lazy) observable that, when subscribed, will execute the logic
encapsulated by the command. It is worth restating that the returned observable is lazy. Nothing will
happen if you call Execute
and neglect to subscribe (directly or indirectly) to the returned observable.
If no parameter value is provided, a default value of type TParam
will be passed into
the execution logic.
Any number of subscribers can subscribe to a given execution observable and the execution logic will only run once. That is, the result is broadcast to those subscribers.
In those cases where execution fails, there will be no result value. Instead, the failure will tick through the
Thrown
Execute(TParam)
Gets an observable that, when subscribed, executes this command.
Parameters
parameter
TParamThe parameter to pass into command execution.
Returns
- IObservable<TResult>
An observable that will tick the single result value if and when it becomes available.
Remarks
Invoking this method will return a cold (lazy) observable that, when subscribed, will execute the logic
encapsulated by the command. It is worth restating that the returned observable is lazy. Nothing will
happen if you call Execute
and neglect to subscribe (directly or indirectly) to the returned observable.
If no parameter value is provided, a default value of type TParam
will be passed into
the execution logic.
Any number of subscribers can subscribe to a given execution observable and the execution logic will only run once. That is, the result is broadcast to those subscribers.
In those cases where execution fails, there will be no result value. Instead, the failure will tick through the
Thrown