Тогда я не понял вопроса. Есть пример какой-то?
public sealed class Entry : IEquatable<Entry>
{
public Entry(int id, string name, EntryState state)
{
Id = id;
Name = name;
State = state;
}
public static Entry Undone(int id, string name) => new Entry(id, name, EntryState.Undone);
}