Я пишу некоторые функции тестирования для проекта. Тестовая функция принимает указатель функции, ожидаемое значение и тестовое значение и проверяет их:
int TestIntInIntOut(int (*func)(int val), int expected, int testvalue);
Однако я также тестирую функции, которые могут принимать перечисление в качестве параметра или выходного значения.
Предположим следующее:
typedef enum { Zero, One, Two } MyEnum;
Есть ли способ, которым я могу передать весь enum как тип? Для любого перечисления. Например:
int TestIntInEnumOut(?enum? (*func)(int val), ?enum? expected, int testvalue);
или
int TestEnumInIntOut(int (*func)(?enum? val), int expected, ?enum? testvalue);
(Вроде как то, что допускает дженерик в C #.)