C#动态创建类实例并调用

来源:互联网 发布:金税盘开票软件更新 编辑:程序博客网 时间:2024/06/05 23:53

类定义:

namespace DynamicFuncTest{    class BaseTestClass    {        public virtual string TestFunction01()        {            return "BaseTestClass TestFunction01";        }        public virtual string TestFunction02(string sText)        {            return "BaseTestClass TestFunction02" + sText;        }    }    class TestClass01 : BaseTestClass    {        public override string TestFunction01()        {            return "TestClass01 TestFunction01";        }        public override string TestFunction02(string sText)        {            return "TestClass01 TestFunction02" + sText;        }    }    class TestClass02 : BaseTestClass    {        public override string TestFunction01()        {            return "TestClass02 TestFunction01";        }        public override string TestFunction02(string sText)        {            return "TestClass02 TestFunction02" + sText;        }    }

动态创建并调用:

        private void Btn_Execute_Class_Click(object sender, EventArgs e)        {            if (T_Function_Class.Text.Length == 0)            {                MessageBox.Show("Pls choice class.");                return;            }            string sClassName = string.Format("DynamicFuncTest.{0}", T_Function_Class.Text);            BaseTestClass test = (BaseTestClass)Activator.CreateInstance(System.Type.GetType(sClassName));            //T_Result_Class.Text = test.TestFunction01();            T_Result_Class.Text = test.TestFunction02(T_Params_Class.Text);        }

其中T_Function_Class.Text为选中的类名

0 0
原创粉丝点击