能不能通过字符串传递函数名称动态调用指定的函数
问题描述
我在类里定义了许多函数,getnextid(),getusername(int id),getage(int id)......
我想通过字符串的方式来调用这些函数,如
string s;
s= "getusername(28) ";
Console.Writeline(execute(s));//execute()是我想像出来的,
而得到getusername(28)的值,
execute()是我想像出来的,C#中有没有这样的功能能实现这样的功能
------解决方案--------------------using System.Reflection;
public string getusername(int id)
{
return "{ " + id + "} ";
}
private void button1_Click(object sender, EventArgs ce)
{
MethodInfo vMethodInfo = GetType().GetMethod( "getusername ");
if (vMethodInfo == null) return;
Text = vMethodInfo.Invoke(this, new object[] { 28 }).ToString();
}