C# 利用反射调用类下的方法
2014-12-09 15:12
211 查看
1.主窗体下的代码
2.类中的代码
namespace TestReflection { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void comboBoxEdit1_SelectedIndexChanged(object sender, EventArgs e) { string MethodName = comboBoxEdit1.SelectedItem.ToString(); TestMethod(MethodName, MethodName); } /// <summary> /// 反射调用类中的方法 /// </summary> /// <param name="MethodName"></param> /// <param name="Text"></param> private void TestMethod(string MethodName, string Text) { try { //// 1.Load(命名空间名称),GetType(命名空间.类名) Type type = Assembly.Load("TestReflection").GetType("TestReflection.Test"); //// 2.GetMethod(需要调用的方法名称) MethodInfo method = type.GetMethod(MethodName); //// 3.调用的实例化方法(非静态方法)需要创建类型的一个实例 object obj = Activator.CreateInstance(type); //// 4.方法需要传入的参数 object[] parameters = new object[] { this, Text }; //// 5.调用方法,如果调用的是一个静态方法,就不需要第3步(创建类型的实例) //// 相应地调用静态方法时,Invoke的第一个参数为null method.Invoke(obj, parameters); } catch { } } } }
2.类中的代码
namespace TestReflection { class Test { public void SayChinese(Form1 frm,string Text) { frm.labelControl1.Text = Text; } public void SayEnglish(Form1 frm, string Text) { frm.labelControl1.Text = Text; } public static void SayStatic(Form1 frm, string Text) { frm.labelControl1.Text = Text; } } }
相关文章推荐
- C# 如何利用反射,将字符串转化为类名并调用类中方法
- 怎样在前端Javascript中调用C#方法:利用反射
- [置顶] C# 如何利用反射,将字符串转化为类名并调用类中方法
- C# 如何利用反射来加载程序集,并调用程序集中有关类的方法
- C# 如何利用反射来加载程序集,并调用程序集中有关类的方法【转】
- C#控制台基础 activator与invoke,利用反射调用一个类的有参数方法
- C# 利用反射调用类下的方法
- C#利用反射调用基类私有方法 及 Unity实现自定义InputField
- C#利用反射来加载程序集,并调用程序集中有关类的方法
- .NET/C#利用反射调用含ref或out参数的方法示例代码
- Unity C# 使用反射,利用字符串作为泛型参数调用泛型方法。
- C#控制台基础 activator与invoke,利用反射调用一个类的无参数方法
- 利用反射机制动态调用方法
- 利用.net反射动态调用指定程序集的中的方法
- C#实现反射调用动态加载的DLL文件中的方法
- 利用虚拟方法和反射简化Alisoft API的调用(二)
- ASP.Net 利用反射调用页面方法
- [转]C# 关于反射类[System.Reflection] 根据类名 动态调用 类方法
- [c#美味] 使用反射动态创建实例并调用方法
- C#反射得并调用方法(方法参数类型)