سبق و بينت كيف يمكن تمرير الخاصية أو الحقل لاستخلاص اسمه لاستخدامه بدلا من تمرير الاسم كنص

https://arabia.io/go/4857

والآن سأضع الطريقة لتمرير المنهج

    public static string MethodToName(Expression<Action> expression)
    {
        var call = (MethodCallExpression)expression.Body;
        return call.Method.Name;
    }

والآن لنحصل على اسم المنهج فقط علينا تمريره كتعبير

        string methodName = MethodToName(() => SomeMethod());

الفائدة من هذه الطريقة

أننا أحيانا نريد استخدام اسم منهج كثابت يتم تمريره

فإذا استخدمنا الاسم مباشرة كثابت رمزي فإنه في المستقبل وعند تغيير اسم المنهج فإنه لن يتعرف المترجم على الثوابت النصية ليقوم بتغييرها

وسنحصل على أخطاء في زمن التنفيذ

بينما إذا استخدمنا التعبير بدلا منه فإن أي تعديل لاسم المنهج أو حذفه سيظهر المترجم أخطاء وتحذيرات عند كل مكان تم استخدام اسمه