# IValueCommand<T> interface

Namespace: [Eto.Forms](https://eto.picoe.ca/api/namespace/eto.forms.md) · Assembly: [Eto](https://eto.picoe.ca/api/assembly/eto.md)

```cs
public interface IValueCommand<T> : ICommand
```

Interface for a command that can provide a value

**Remarks:** Some controls can provide a value, which can be difficult to get via the command when the value changes. This inteface allows you to extend your command to allow getting and setting a value of any type and have an event when the value changes programatically.

**Type parameters:**

- `T`

**Derived types:** [CheckCommand](https://eto.picoe.ca/api/type/eto.forms.checkcommand.md), [RelayValueCommand<TParameter, TValue>](https://eto.picoe.ca/api/type/eto.forms.relayvaluecommand-2.md), [ValueCommand<T>](https://eto.picoe.ca/api/type/eto.forms.valuecommand-1.md)

## Methods

- [GetValue](https://eto.picoe.ca/api/type/eto.forms.ivaluecommand-1/getvalue.md): Gets the current value in the command.
- [SetValue](https://eto.picoe.ca/api/type/eto.forms.ivaluecommand-1/setvalue.md): Sets the value in the command from the control.

## Events

- [ValueChanged](https://eto.picoe.ca/api/type/eto.forms.ivaluecommand-1/valuechanged.md): Event to signal to the control/widget that the value has been changed.

## See Also

- [ValueCommand<T>](https://eto.picoe.ca/api/type/eto.forms.valuecommand-1.md)
