Skip to content

Migration from v6 to v7

Pawel Gerr edited this page Oct 8, 2023 · 4 revisions

Smart Enums

  • Use SmartEnumAttribute<T> instead of EnumGenerationAttribute
  • Use SmartEnumAttribute<T> instead of IEnum<T>
// OLD
[EnumGeneration(KeyPropertyName = "Name")]
public sealed partial class ProductCategory : IEnum<string>
{
   public static readonly ProductCategory Fruits = new("Fruits");
   public static readonly ProductCategory Dairy = new("Dairy");
}

// NEW
[SmartEnum<string>(KeyPropertyName = "Name")]
public sealed partial class ProductCategory
{
   public static readonly ProductCategory Fruits = new("Fruits");
   public static readonly ProductCategory Dairy = new("Dairy");
}
  • Use SmartEnumAttribute<T>(IsValidatable = true) instead of IValidatableEnum<T>
// OLD
public sealed partial class ProductCategory : IValidatableEnum<string>
{
   public static readonly ProductCategory Fruits = new("Fruits");
   public static readonly ProductCategory Dairy = new("Dairy");
}

// NEW
[SmartEnum<string>(IsValidatable = true)]
public sealed partial class ProductCategory
{
   public static readonly ProductCategory Fruits = new("Fruits");
   public static readonly ProductCategory Dairy = new("Dairy");
}

Clone this wiki locally