Как создать generic метод с ограничением T на Enum в C#?
```html
الجميع مرحبًا! أنا مطور C# مبتدئ واجهت مشكلة. أحاول كتابة طريقة عامة تقبل أي تعداد (enum) وتعيد وصفه أو قيمة ما. على سبيل المثال، أريد عمل طريقة تعرض جميع قيم التعداد على شكل قائمة من السلاسل النصية.
أكتب شيئًا كهذا:
```csharp
public static string[] GetEnumNames() where T : Enum
{
return Enum.GetNames(typeof(T));
}
```
لكن المترجم يعطي خطأ: "Constraint cannot be special class 'System.Enum'". قرأت أنه في C# لا يمكن تقييد النوع العام (generic type) مباشرة بالتعداد. هل هذا صحيح؟ كيف إذن يمكنني التعامل؟ أحتاج أن تعمل الطريقة فقط مع التعدادات (enums) وليس مع أي أنواع. رأيت في بعض الأماكن استخدام `where T : struct`، ولكن يمكن تمرير بنية عادية (struct) أيضًا، وهذا غير مناسب.
أرشدوني، كيف يمكنني تنفيذ هذه الطريقة بشكل صحيح؟ هل هناك خدعة أو طريقة بديلة؟ شكرًا مقدمًا!
**ملاحظة:** أستخدم .NET Framework 4.7.2، لكن إذا كان هناك حل لـ .NET Core / .NET 5+، فأنا مهتم أيضًا.
```