كيفية القيام بما يلي: إنشاء أسلوب جديد قائمة تعداد (البرمجة C# إرشادات)

يمكنك استخدام ملحق وظائف وظائف معينة إلى نوع معين تعداد.

مثال

في ما يلي مثال، Gradesالتعداد يمثل درجات حرف المحتملة التي قد تتلقى طالب في فئة. أسلوب ملحق باسم Passingهو إضافة إلى Gradesكتابة حيث كل مثيل لنوع هذا الآن "يعلم" ما إذا كان يمثل بدرجة تمرير أو عدم.

using System;
using System.Collections.Generic;
using System.Text;
using System.Linq;

namespace EnumExtension
{
    // Define an extension method in a non-nested static class.
    public static class Extensions
    {        
        public static Grades minPassing = Grades.D;
        public static bool Passing(this Grades grade)
        {
            return grade >= minPassing;
        }
    }

    public enum Grades { F = 0, D=1, C=2, B=3, A=4 };
    class Program
    {       
        static void Main(string[] args)
        {
            Grades g1 = Grades.D;
            Grades g2 = Grades.F;
            Console.WriteLine("First {0} a passing grade.", g1.Passing() ? "is" : "is not");
            Console.WriteLine("Second {0} a passing grade.", g2.Passing() ? "is" : "is not");

            Extensions.minPassing = Grades.C;
            Console.WriteLine("\r\nRaising the bar!\r\n");
            Console.WriteLine("First {0} a passing grade.", g1.Passing() ? "is" : "is not");
            Console.WriteLine("Second {0} a passing grade.", g2.Passing() ? "is" : "is not");
        }
    }
  }
}
/* Output:
    First is a passing grade.
    Second is not a passing grade.

    Raising the bar!

    First is not a passing grade.
    Second is not a passing grade.
 */

لاحظ أن Extensionsالفئة يحتوي أيضا على متغير ثابتة التي هو تحديثها ديناميكياً وقيمة الإرجاع للأسلوب الملحق الذي يقوم بإظهار القيمة الحالي لهذا المتغير. يوضح هذا أنه، في الخلفية، يتم استدعاء وظائف ملحق مباشرة تشغيل الفئة الثابتة التي تم تعريفها.

التحويل البرمجي للتعليمات البرمجية

لتشغيل التعليمات البرمجية"الرمز" , انسخه و الصقه في مشروع تطبيق وحدة تحكم Visual C# التي تم إنشاؤها في Visual Studio. افتراضياً، يستهدف هذا المشروع الإصدار 3.5 من .NET Framework، ولديه المرجع للنظام.Core.dll و توجيه using عن النظام.Linq. إذا تم فقدان واحد أو أكثر من هذه المتطلبات من المشروع، فيمكنك إضافتها يدوياً. لمزيد من المعلومات، راجع كيفية: إنشاء مشروع LINQ.

راجع أيضًا:

المرجع

أساليب التوسيع (ارشادات برمجة C#)

المبادئ

دليل البرمجة لـ #C