[.net] تجميع التعليمات البرمجية حيوي باستخدام C #


Answers

مونو لديه C # مترجم كخدمة التي يمكن استخدامها في تطبيقات .NET على ويندوز (جنبا إلى جنب مع لينكس، بطبيعة الحال).

Question

كيف يمكنني كتابة رمز C # لتجميع وتشغيل رمز C # الذي تم إنشاؤه ديناميكيا. هل هناك أمثلة حولها؟

ما أنا بعد هو بناء حيوي C # فئة (أو الطبقات) وتشغيلها في وقت التشغيل. أريد فئة ولدت للتفاعل مع فئات C # الأخرى التي ليست ديناميكية.

لقد رأيت الأمثلة التي تولد ملفات إكس أو دلل. أنا لست بعد ذلك، أريد فقط أن تجميع بعض رمز C # في الذاكرة ثم تشغيله. على سبيل المثال،

حتى هنا هو فئة التي ليست ديناميكية، وسوف يتم تعريفها في بلدي C # التجمع وسوف تتغير فقط في وقت تجميع،

public class NotDynamicClass
{
    private readonly List<string> values = new List<string>();

    public void AddValue(string value)
    {
        values.Add(value);
    }

    public void ProcessValues()
    {
        // do some other stuff with values
    }
}

هنا هو بلدي الطبقة التي هي ديناميكية. سوف C # كود إنشاء هذا الفصل وتشغيله،

public class DynamicClass
{
    public static void Main()
    {
        NotDynamicClass class = new NotDynamicClass();

        class.AddValue("One");
        class.AddValue("two");
    }
}

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

شكر.