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

"استخراج واجهة" هي عملية إعادة هيكلة توفر طريقة سهلة لإنشاء واجهة جديدة بالأعضاء التي تنشأ من فئة أو بنية أو واجهة موجودة.

عند استخدام عدة عملاء نفس المجموعة الفرعية للأعضاء من فئة أو بنية أو واجهة, أو يكون لمجموعة من الفئات أو البنيات أو الواجهات نفس المجموعة الفرعية من الأعضاء, يمكن أن يكون مفيداً تجسيد المجموعة الفرعية من الأعضاء في واجهة. لمزيد من المعلومات حول استخدام الواجهات, راجع واجهات (C# البرمجة الدليل).

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

لاستخدام "استخراج واجهة"

  1. أنشئ تطبيق وحدة تحكم باسم ExtractInterface ، ثم قم باستبدال Program بمثال التعليمات البرمجية التالي

    // Invoke Extract Interface on ProtoA.
    // Note:  the extracted interface will be created in a new file.
    class ProtoA
    {
        public void MethodB(string s) { }
    }
    
  2. بعد وضع المؤشر في MethodB ، انقر فوق استخراج واجهة في القائمة إعادة هيكلة.

    سيظهر مربع حوار استخراج واجهة .

    يمكنك أيضاً استخدام اختصار اوحة المفاتيح CTRL + R ثم I لعرض مربع الحوار استخراج واجهة .

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

  3. انقر حدد الكل.

  4. انقر فوق موافق.

    سترى الملف الجديد ، IProtoA.cs, والتعليمات البرمجية التالية:

    using System;
    namespace TopThreeRefactorings
    {
        interface IProtoA
        {
            void MethodB(string s);
        }
    }
    

ملاحظات

هذه الميزة قابلة للوصول فقط عند وضع المؤشر في الفئة أو البنية أو الواجهة التي تحتوي على الأعضاء التي تريد استخراجها. عند وضع المؤشر في ذلك الموضع, قم باستدعاء عملية إعادة الهيكلة "استخراج واجهة" .

عند استدعاء "استخراج واجهة" لفئة أو لبنية ،قائمة الأساسات والواجهات يتم تعديلها لتتضمّن اسم الواجهة الجديدة. عند استدعاء "استخراج واجهة" على واجهة ، لا يتم تعديل قائمة الأساسات و الواجهات.

راجع أيضًا:

المبادئ

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