Avatar ·

Creating a generic method with T constraint on Enum in C#

Hello everyone! I'm a beginner C# developer and I'm having a problem with generic methods. I want to write a universal method that takes an enum and does something useful with it, like checking if the value is defined in the enum, or converting it to a string. I'm trying to put a constraint on type T so that it is specifically an enum, but the compiler complains. Here's my code: ```csharp public static T ParseEnum(string value) where T : Enum { return (T)Enum.Parse(typeof(T), value); } ``` The compiler gives an error: "Constraint cannot be special class 'System.Enum'". I've read that in C# you cannot directly use Enum in generic constraints. How do I properly create a generic method that only works with enums? Do I need to use where T : struct and check inside? Or is there another way?