Avatar ·

مفوض Func<T> بدون نوع إرجاع: كيفية استخدام Action بدلاً من Func؟

مرحباً بالجميع! لقد بدأت للتو في تعلم C# وواجهت موقفاً غير مفهوم مع المفوضين (delegates). أعلم أن هناك مفوضين مدمجين `Func` و `Action`. ولكن عندما أحاول استخدام `Func` لدالة لا تُرجع أي شيء (void)، أحصل على خطأ في الترجمة.\n\nإليك مثال على الكود الذي لا يعمل معي:\n\n```csharp\nusing System;\n\nclass Program\n{\n static void Main()\n {\n // أحاول إنشاء مفوض لدالة تطبع نصاً\n Func myDelegate = PrintMessage; // خطأ!\n myDelegate("مرحباً بالعالم!");\n }\n\n static void PrintMessage(string message)\n {\n Console.WriteLine(message);\n }\n}\n```\n\nالمترجم يعطي خطأ: "No overload for 'PrintMessage' matches delegate 'Func'" أو شيء من هذا القبيل. أفهم أن