إعادة بناء التعليمات البرمجية (C#)

إعادة بناء التعليمات البرمجية هي عملية تحسين التعليمات البرمجية بعد كتابتها, بواسطة تغيير بنية التعليمات البرمجية الداخلية دون تغيير السلوك الخارجي للتعليمات البرمجية.

Visual C# يوفر أوامر إعادة بناء التعليمات البرمجية التالية في القائمة " إعادة بناء التعليمات البرمجية":

إعادة بناء التعليمات البرمجية متعددة المشاريع

Visual Studio يعتمد إعادة بناء التعليمات البرمجية متعددة المشاريع للمشاريع الموجودة في نفس الحل. كافة عمليات إعادة بناء التعليمات البرمجية التي تصحّح المراجع عبر الملفات تصحّح تلك المراجع خلال كافة المشاريع من نفس اللغة. يعمل هذا على أية مراجع مشروع-إلى-مشروع. على سبيل المثال، إذا كان لديك تطبيق وحدة تحكم يشير إلى مكتبة فئة, عند إعادة تسمية نوع مكتبة الفئة (باستخدام عملية إعادة بناء التعليمات البرمجية Rename) ،يتم كذلك تحديث المراجع إلى نوع مكتبة الفئة في تطبيق وحدة التحكم.

معاينة التغييرات

العديد من عمليات إعادة بناء التعليمات البرمجية توفّر فرصة لمعاينة كافة تغييرات المراجع التي تنفّذها عملية إعادة بناء التعليمات البرمجية على التعليمات البرمجية الخاصة بك قبل تنفيذ هذه التغييرات. للحصول على عمليات إعادة بناء التعليمات البرمجية هذه, خيار معاينة تغييرات المراجع سيظهر في مربع حوار عملية إعادة بناء التعليمات البرمجية. بعد تحديد هذا الخيار و قبول عملية إعادة بناء التعليمات البرمجية سيظهر مربع حوار معاينة التغييرات . لاحظ أن مربع الحوار معاينة التغييرات له طريقتي عرض. طريقة العرض في الجزء السفلي ستعرض التعليمات البرمجية الخاصة بك مع كافة تحديثات المراجع تبعاً لعملية إعادة بناء التعليمات البرمجية. ضغط إلغاء في مربع الحوار معاينة التغييرات سيوقف عملية إعادة بناء التعليمات البرمجية, ثم لن يتم إجراء أية تغييرات على التعليمات البرمجية الخاصة بك.

تحذيرات إعادة بناء التعليمات البرمجية

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

ملاحظة

إذا كان أسلوب يحتوي على خطأ في بناء جملة (الذي يشير إليه IDE عن طريق تسطير مائج أحمر), لن يقوم مشغّل عملية إعادة بناء التعليمات البرمجية بتحديث أية مراجع إلى عنصر ضمن هذا الأسلوب. يوضح المثال التالي هذا السلوك.

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

إذا قمت بتنفيذ عملية إعادة بناء التعليمات البرمجية التي تحتوي على معينة تغييرات المراجع مفعّلة و تم اكتشاف خطأ تحويل برمجي في البرنامج الخاص بك, ستقوم بيئة التطوير بعرض رسالة التحذير التالية في الجزء السفلي من مربع الحوار معاينة التغييرات بدلاً من عرض مربع الحوار تحذير إعادة بناء التعليمات البرمجية:

مشروع أو واحد تبعياته لا حاليا بناء. قد لا يتم محدث المراجع.

تحذير إعادة بناء التعليمات البرمجية هذا متوفر فقط من أجل عمليات عملية إعادة بناء التعليمات البرمجية التي توفر الخيار معاينة تغييرات المراجع .

إعادة بناء التعليمات البرمجية المتسامحة مع الخطأ و نتائج التحقق

إعادة بناء التعليمات البرمجية تكون ذات سماحية للخطأ. بمعنى آخر، يمكنك تنفيذ إعادة بناء التعليمات البرمجية في مشروع لا يمكن بناؤه. ومع ذلك، في هذه الحالات عملية إعادة بناء التعليمات البرمجية قد لا تحدّث المراجع القابلة للالتباس بشكل صحيح.

مربع الحوار نتائج التحقق يمكنه إعلامك إذا كان مشغّل إعادة بناء التعليمات البرمجية قام بالكشف عن أخطاء تحويل برمجي أو اكتشف أن عملية إعادة بناء التعليمات البرمجية تسبب بدون قصد ربط مرجع تعليمات برمجية إلى شئ مختلف عن ما كان مرتبطًا به في البداية(مشكلة إعادة ربط ).

لتفعيل ميزة نتائج التحقق, في القائمة أدوات، انقر فوق خيارات. في مربح الحوار خيارات ، قم بتوسيع محرر نصثم قم بتوسيع C#‎. انقر فوق متقدم وحدد خانة الاختيار تحقق من نتائج إعادة بناء التعليمات البرمجية.

مربع الحوار نتائج التحقق يميّز الفرق بين نوعين من مشكلات إعادة الربط .

المراجع التي تعريفها لم يعد الرمز المعاد تسميته بعد الآن

يحدث هذا النوع من المشكلة إعادة الربط عندما لم يعد يشير مرجع إلى رمز تمت إعادة تسميته. على سبيل المثال، اطلع على التعليمات البرمجية التالية:

class Example
{
    private int a;
    public Example(int b)
    {
        a = b;
    }
}

إذا كنت تستخدم إعادة بناء التعليمات البرمجية لإعادة تسمية a إلى b ، مربع الحوار هذا سوف يظهر. المرجع إلى المتغير المعاد تسميته a الآن مرتبط بالمُعامل الذي تم تمريره إلى المنشئ بدلاً من الارتباط بالحقل.

المراجع التي تعريفها لن يصبح الرمز المعاد تسميته بعد الآن

يحدث هذا النوع من مشكلة إعادة الربط عندما يكون المرجع الذي كان مسبقاً لا يشير إلى الرمز المعاد تسميته أصبح يشير الآن إلى رمز الذي تمت إعادة تسميته. على سبيل المثال، اطلع على التعليمات البرمجية التالية:

class Example
{
    private static void Method(object a) { }
    private static void OtherMethod(int a) { }
    static void Main(string[] args)
    {
        Method(5);
    }
}

إذا كنت تستخدم إعادة بناء التعليمات البرمجية لإعادة تسمية OtherMethod إلى Method ، مربع الحوار هذا سوف يظهر. المرجع في Main الآن يشير إلى الأسلوب زائد التحميل الذي يقبل المعامل int بدلاً من الأسلوب زائد التحميل الذي يقبل المعامل object .

راجع أيضًا:

المهام

كيفية: استعادة أجزاء Refactoring C#‎

موارد أخرى

استخدام بيئة التطوير ل# Visual C