---
title: "Class ModelComponentUpgradeConverter.SkippableUpgradeAlgorithm | Customer's Canvas On-Premises"
canonical: "https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Serialization.Json/ModelComponentUpgradeConverter.SkippableUpgradeAlgorithm/"
---

# Class ModelComponentUpgradeConverter.SkippableUpgradeAlgorithm

> **Inheritance:** `System.Object` -> [Aurigma.DesignAtoms.Serialization.Json.ModelComponentUpgradeConverter.UpgradeAlgorithm](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Serialization.Json/ModelComponentUpgradeConverter.UpgradeAlgorithm.md) -> ModelComponentUpgradeConverter.SkippableUpgradeAlgorithm

###### **Namespace**: [Aurigma.DesignAtoms.Serialization.Json](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Serialization.Json.md)

###### **Assembly**: Aurigma.DesignAtoms.dll

```csharp title="Syntax"
public class SkippableUpgradeAlgorithm : ModelComponentUpgradeConverter.UpgradeAlgorithm
```

## Inherited Members

* [Aurigma.DesignAtoms.Serialization.Json.ModelComponentUpgradeConverter.UpgradeAlgorithm.VersionPattern](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Serialization.Json/ModelComponentUpgradeConverter.UpgradeAlgorithm.md#versionpattern)
* [Aurigma.DesignAtoms.Serialization.Json.ModelComponentUpgradeConverter.UpgradeAlgorithm.VersionAfterUpgrade](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Serialization.Json/ModelComponentUpgradeConverter.UpgradeAlgorithm.md#versionafterupgrade)
* [Aurigma.DesignAtoms.Serialization.Json.ModelComponentUpgradeConverter.UpgradeAlgorithm.Upgrade(Newtonsoft.Json.Linq.JObject, Newtonsoft.Json.JsonSerializer, Autofac.ILifetimeScope)](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Serialization.Json/ModelComponentUpgradeConverter.UpgradeAlgorithm.md#upgrade)
* `System.Object.ToString`
* `System.Object.Equals(System.Object)`
* `System.Object.Equals(System.Object,System.Object)`
* `System.Object.ReferenceEquals(System.Object,System.Object)`
* `System.Object.GetHashCode`
* `System.Object.GetType`
* `System.Object.MemberwiseClone`

## Constructors

### SkippableUpgradeAlgorithm

```csharp
public SkippableUpgradeAlgorithm(string affectedVersions, string versionAfterUpgrade, Func<JObject, JsonSerializer, ILifetimeScope, JObject> upgradeFunction, string skipUpgradeName)
```

### SkippableUpgradeAlgorithm

```csharp
public SkippableUpgradeAlgorithm(string affectedVersions, string versionAfterUpgrade, Func<JObject, JsonSerializer, JObject> upgradeFunction, string skipUpgradeName)
```

### SkippableUpgradeAlgorithm

```csharp
public SkippableUpgradeAlgorithm(ModelComponentUpgradeConverter.VersionPattern versionPattern, string versionAfterUpgrade, Func<JObject, JsonSerializer, ILifetimeScope, JObject> upgradeFunction, string skipUpgradeName)
```

### SkippableUpgradeAlgorithm

```csharp
public SkippableUpgradeAlgorithm(ModelComponentUpgradeConverter.VersionPattern versionPattern, string versionAfterUpgrade, Func<JObject, JsonSerializer, JObject> upgradeFunction, string skipUpgradeName)
```

## Methods

### CanUpgrade

```csharp
public override bool CanUpgrade(JObject serializedComponent)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `Newtonsoft.Json.Linq.JObject` | *serializedComponent* |  |

##### Returns

`System.Boolean`

##### Overrides

* [Aurigma.DesignAtoms.Serialization.Json.ModelComponentUpgradeConverter.UpgradeAlgorithm.CanUpgrade(Newtonsoft.Json.Linq.JObject)](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Serialization.Json/ModelComponentUpgradeConverter.UpgradeAlgorithm.md#canupgrade)
