# IVersionManager Methods

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.iversionmanager/)

## SetCompatibilityStrategy(CompatibilityStrategy) {#setcompatibilitystrategy-orleans-versions-compatibility-compatibilitystrategy-5aa3592f}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.iversionmanager/methods/setcompatibilitystrategy-orleans-versions-compatibility-compatibilitystrategy-5aa3592f/)

```csharp
public abstract Task SetCompatibilityStrategy(CompatibilityStrategy strategy)
```

Set the compatibility strategy.

### Parameters

- `strategy` (`CompatibilityStrategy`): The strategy to set. Set to `null` to revert to the default strategy provided in configuration.

### Returns

A `System.Threading.Tasks.Task` representing the operation.

## SetCompatibilityStrategy(GrainInterfaceType, CompatibilityStrategy) {#setcompatibilitystrategy-orleans-runtime-graininterfacetype-orleans-versions-com-447b76a4}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.iversionmanager/methods/setcompatibilitystrategy-orleans-runtime-graininterfacetype-orleans-versions-com-447b76a4/)

```csharp
public abstract Task SetCompatibilityStrategy(GrainInterfaceType interfaceType, CompatibilityStrategy strategy)
```

Set the compatibility strategy for a specific interface.

### Parameters

- `interfaceType` (`GrainInterfaceType`): The type of the interface.
- `strategy` (`CompatibilityStrategy`): The strategy to set. Set to `null` to revert to the default strategy provided in configuration.

### Returns

A `System.Threading.Tasks.Task` representing the operation.

## SetSelectorStrategy(GrainInterfaceType, VersionSelectorStrategy) {#setselectorstrategy-orleans-runtime-graininterfacetype-orleans-versions-selector-f3283256}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.iversionmanager/methods/setselectorstrategy-orleans-runtime-graininterfacetype-orleans-versions-selector-f3283256/)

```csharp
public abstract Task SetSelectorStrategy(GrainInterfaceType interfaceType, VersionSelectorStrategy strategy)
```

Set the selector strategy for a specific interface.

### Parameters

- `interfaceType` (`GrainInterfaceType`): The type of the interface.
- `strategy` (`VersionSelectorStrategy`): The strategy to set. Set to `null` to revert to the default strategy provided in configuration.

### Returns

A `System.Threading.Tasks.Task` representing the operation.

## SetSelectorStrategy(VersionSelectorStrategy) {#setselectorstrategy-orleans-versions-selector-versionselectorstrategy-b4f607e9}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.iversionmanager/methods/setselectorstrategy-orleans-versions-selector-versionselectorstrategy-b4f607e9/)

```csharp
public abstract Task SetSelectorStrategy(VersionSelectorStrategy strategy)
```

Set the selector strategy.

### Parameters

- `strategy` (`VersionSelectorStrategy`): The strategy to set. Set to `null` to revert to the default strategy provided in configuration.

### Returns

A `System.Threading.Tasks.Task` representing the operation.
