首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

能不能通过字符串传递函数名称动态调用指定的函数解决方案

2012-01-30 
能不能通过字符串传递函数名称动态调用指定的函数问题描述我在类里定义了许多函数,getnextid(),getusernam

能不能通过字符串传递函数名称动态调用指定的函数
问题描述
我在类里定义了许多函数,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();
}

热点排行