🙂 İNSANLARIN EN HAYIRLISI INSANLARA FAYDALI OLANDIR 🙂

Ramazan HABER / C# / dinamik .dll eklemek

1-) C# -

dinamik .dll eklemek

 

1-) windows form aplication(1 BUTTON, 2 TEXBOX)

 

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using System.Reflection;

 

namespace dinamik_windows

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

 

        private void button1_Click(object sender, EventArgs e)

        {

            var DLL = Assembly.LoadFile(@"D:\C# çalışmalarım\dinamik_dll\dinamik_dll\bin\Debug\dinamik_dll.dll");//dll nin bulunduğu path

 

            foreach (Type type in DLL.GetExportedTypes())

            {

 

                dynamic c = Activator.CreateInstance(type);//

                if (c.ToString() == "dinamik_dll.Class1")//dll deki class2 için çünkü metodları farklı

                {

                    c.Goster();//dinamik_dll.dll deki method ismi Goster()

                    c.gelen_text = textBox1.Text;//dll deki public olan stringe deger atadık

                    c.yaz();//dinamik_dll.dll deki method ismi yaz("string deger alıyor");

                }

                if (c.ToString() == "dinamik_dll.Class2")//dll deki class2 için çünkü metodları farklı

                {

                    c.sinif2_goster();

                    c.sinif2_yaz(textBox2.Text);

                }

 

            }

 

        }

    }

}

 

2-) CLASS LİBRARY YANİ DLL(dinamik_dll.dll)

 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

 

namespace dinamik_dll

{

    public class Class1

    {

        public Label etiket;

        Form form = new Form();

        public string gelen_text;//windows formdan deger gonderdık buna

        public void Goster()

        {

            form.Text = "ramazan haber";

            Button buttonn = new Button();

            buttonn.Text = "okey";

            buttonn.Width = 100;

            buttonn.Height = 100;

            buttonn.SetBounds(10, 10, 100, 100);

            form.Controls.Add(buttonn);

            form.Show();

        }

        public void yaz()

        {

            etiket = new Label();

            etiket.Text = gelen_text;//windows formdan deger gonderdık buna

            etiket.SetBounds(10, 200, 100, 100);

            form.Controls.Add(etiket);

        }

    }

    public class Class2

    {

        public Label etiket;

        Form form = new Form();

        public void sinif2_goster()

        {

            form.Text = "ramazan haber";

            Button buttonn = new Button();

            buttonn.Text = "okey";

            buttonn.Width = 100;

            buttonn.Height = 100;

            buttonn.SetBounds(10, 10, 100, 100);

            form.Controls.Add(buttonn);

            form.Show();

        }

        public void sinif2_yaz(String merhaba)

        {

            etiket = new Label();

            etiket.Text = merhaba;

            etiket.SetBounds(10, 200, 100, 100);

            form.Controls.Add(etiket);

        }

    }

}

 2021 Ocak 18 Pazartesi
 562