Да, просто код против базового типа Enum
, например,
public static void Something(this Enum e)
{
// code here
}
Обратной стороной является то, что вы, вероятно, в конечном итоге будете делать довольно неприятные вещи, такие как поиск реального базового типа с использованием Enum.GetUnderlyingType
, приведение и переход к различным веткам в зависимости от того, какой базовый тип перечисление есть, но вы можете найти несколько хороших вариантов его использования (например, у нас есть методы IsOneOf
и IsCombinationOf
, которые применяются ко всем перечислениям).
PS: Помните, когда пишете метод, который, хотя и не рекомендуется, вы можете использовать float
и double
в качестве базовых типов для перечислений, так что вам потребуются некоторые особые случаи для них, а также для значений без знака. *