    

 ## On this page

  

 

 # Class CommandBase

 Last update: 09.03.2026 

<a id="VM_CommandBase"></a>

Namespace: [VM](VM.md)  
Assembly: VM.dll

```csharp
public abstract class CommandBase : ObservableObject, IObservableObject, IDisposableObject

```

#### Inheritance

object ← [ObservableObject](VM.ObservableObject.md) ← [CommandBase](VM.CommandBase.md)

#### Implements

[IObservableObject](VM.IObservableObject.md), [IDisposableObject](VM.IDisposableObject.md)

#### Inherited Members

[ObservableObject.Dispose()](VM.ObservableObject.md#VM_ObservableObject_Dispose), [ObservableObject.RaisePropertyChanged(string)](VM.ObservableObject.md#VM_ObservableObject_RaisePropertyChanged_System_String_), [ObservableObject.RaisePropertyChanged(string, object, object)](VM.ObservableObject.md#VM_ObservableObject_RaisePropertyChanged_System_String_System_Object_System_Object_), [ObservableObject.Dispose(bool)](VM.ObservableObject.md#VM_ObservableObject_Dispose_System_Boolean_), [ObservableObject.DisposeManagedResources()](VM.ObservableObject.md#VM_ObservableObject_DisposeManagedResources), [ObservableObject.DisposeUnmanagedResources()](VM.ObservableObject.md#VM_ObservableObject_DisposeUnmanagedResources), [ObservableObject.IsDisposed](VM.ObservableObject.md#VM_ObservableObject_IsDisposed), [ObservableObject.TryDisposing](VM.ObservableObject.md#VM_ObservableObject_TryDisposing), [ObservableObject.Disposed](VM.ObservableObject.md#VM_ObservableObject_Disposed), [ObservableObject.Disposing](VM.ObservableObject.md#VM_ObservableObject_Disposing), [ObservableObject.PropertyChanged](VM.ObservableObject.md#VM_ObservableObject_PropertyChanged)

## Constructors

### <a id="VM_CommandBase__ctor_System_Func_System_Object_System_Boolean__"></a> CommandBase(Func&lt;object, bool&gt;)

```csharp
public CommandBase(Func<object, bool> canExecute)

```

#### Parameters

`canExecute` Func&lt;object, bool&gt;

## Properties

### <a id="VM_CommandBase_Description"></a> Description

```csharp
public string Description { get; set; }

```

#### Property Value

string

### <a id="VM_CommandBase_IsExecuting"></a> IsExecuting

```csharp
protected bool IsExecuting { get; set; }

```

#### Property Value

bool

## Methods

### <a id="VM_CommandBase_CanExecute_System_Object_"></a> CanExecute(object)

```csharp
public bool CanExecute(object parameter)

```

#### Parameters

`parameter` object

#### Returns

bool

### <a id="VM_CommandBase_OnCanExecuteChanged"></a> OnCanExecuteChanged()

```csharp
protected void OnCanExecuteChanged()

```

### <a id="VM_CommandBase_OnShouldExecute"></a> OnShouldExecute()

```csharp
protected void OnShouldExecute()

```

### <a id="VM_CommandBase_CanExecuteChanged"></a> CanExecuteChanged

```csharp
public virtual event EventHandler CanExecuteChanged

```

#### Event Type

EventHandler

### <a id="VM_CommandBase_ShouldExecute"></a> ShouldExecute

```csharp
public event EventHandler ShouldExecute

```

#### Event Type

EventHandler