Как создать статический метод расширения для всех типов Enum?C#

Место общения программистов C#
Anonymous
Как создать статический метод расширения для всех типов Enum?

Сообщение Anonymous »

Я пытаюсь создать метод статического расширения, который можно использовать с любым типом перечисления в C#. Я хочу иметь возможность вызывать этот метод для любого значения перечисления.
Однако, поскольку методы расширения определены для определенных типов, я не уверен, как создать общий метод расширения, применимый ко всем перечислениям. Есть ли способ сделать это с помощью блоков расширения?
Теперь я мог определить метод только для определенного перечисления:
extension(MyEnum)
{
public static Direction Random => Enum.GetValues().Choice();
}

Но я хочу что-то вроде этого:
extension() where T : Enum
{
public static T Random => Enum.GetValues().Choice();
}

Вернуться в «C#»