-
-
Notifications
You must be signed in to change notification settings - Fork 183
Open
Description
@ardalis, I am wondering what your thoughts are regarding the idea of having the option of specifying a default enum value for a class inheriting from SmartEnum.
For example, let's say I have the following enum:
public class Status : SmartEnum<Status>
{
public static readonly Status Other = new(nameof(Pending), 0);
public static readonly Status Pending = new(nameof(Pending), 1);
public static readonly Status Completed = new(nameof(Completed), 2);
private Status(string name, int value) : base(name, value) { }
}
Then, if I were to do this:
var status = Status.FromName("Cancelled");
An exception gets thrown. Instead, I would prefer to have the Other
status returned if an unknown is specified in the FromName
method. How would you recommend solving this? Would there be any benefit to adding a new constructor to SmartEnum
that allows an enum to specify whether it is to be used as a default value?
jfern01
Metadata
Metadata
Assignees
Labels
No labels