---
title: 'ARC0004: [Command] type must have public Handle() method'
---

## Rule

Any type marked with `[Command]` must declare a public instance `Handle()` method.

## Severity

Error

## Example

### Violation

```csharp
using Cratis.Arc.Commands.ModelBound;

[Command]
public record CreateOrder
{
    public string OrderId { get; set; }
}
```

```csharp
using Cratis.Arc.Commands.ModelBound;

[Command]
public record CreateOrder
{
    internal void Handle()
    {
    }
}
```

### Fix

```csharp
using Cratis.Arc.Commands.ModelBound;

[Command]
public record CreateOrder
{
    public string OrderId { get; set; }

    public void Handle()
    {
    }
}
```
