如何把字符串变成函数名?

aolivine2 2009-11-20 09:34:13
public static string ShowContentLink(string strContent, string strFunctionName)
{
int ID=1;
switch (strFunctionName)
{

case "LinkNbsti":
return LinkNbsti(strContent, ID);
break;
case "LinkNj110":
return LinkNj110(strContent, ID);
break;
case "LinkSuhf":
return LinkSuhf(strContent, ID);
break;
case "LinkQzdd":
return LinkQzdd(strContent, ID);
break;
case "LinkHzff":
return LinkHzff(strContent, ID);
break;
default:
return "<br>找不到对应的函数名称!<br>";
break;
}
}

这样实在太复杂,怎么样让字符串可以转变为函数名,直接执行?eval能用吗?应该怎么用?
...全文
310 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
aolivine2 2009-11-20
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 hhc123 的回复:]
object 换成string不就行了吗?

[/Quote]
强制转换出错了,我再试试。还有,能不能在这儿用 ass = Assembly.LoadFile(@"E:\Class1.cs");一定要用dll吗?
hhc123 2009-11-20
  • 打赏
  • 举报
回复
object 换成string不就行了吗?
xiaoxin4321 2009-11-20
  • 打赏
  • 举报
回复
不懂反射~。。。
aolivine2 2009-11-20
  • 打赏
  • 举报
回复
string类型的,不是object
liherun 2009-11-20
  • 打赏
  • 举报
回复
up Michael Scofield
aolivine2 2009-11-20
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 zhujiazhi 的回复:]
MethodInfo methodInfo = this.GetType().GetMethod("function name");
            object tt = methodInfo.Invoke(this, null);//第二个为参数
[/Quote]

程序执行结束后,我如何提取返回值 ?
zhujiazhi 2009-11-20
  • 打赏
  • 举报
回复
MethodInfo methodInfo = this.GetType().GetMethod("function name");
object tt = methodInfo.Invoke(this, null);//第二个为参数
flypig_007 2009-11-20
  • 打赏
  • 举报
回复
附议空军
我不懂电脑 2009-11-20
  • 打赏
  • 举报
回复
使用反射
aolivine2 2009-11-20
  • 打赏
  • 举报
回复
听不懂。。
HDNGO 2009-11-20
  • 打赏
  • 举报
回复
附议空军
jbo126 2009-11-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wuyi8808 的回复:]
反射。
[/Quote]
批准!
PSSonyXbox 2009-11-20
  • 打赏
  • 举报
回复


二楼
wuyi8808 2009-11-20
  • 打赏
  • 举报
回复
反射。
aolivine2 2009-11-20
  • 打赏
  • 举报
回复
谢谢大家,我试出来了

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧