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

怎么把变量当方法来使用?

2013-04-05 
如何把变量当方法来使用?????????Button 是根据数据库中信息动态生成,在为其绑定事件时遇到如题困难,请帮

如何把变量当方法来使用?????????
Button 是根据数据库中信息动态生成,在为其绑定事件时遇到如题困难,
请帮忙解决.
数据库信息如下:
怎么把变量当方法来使用?
代码:

private void createBtn()
        {
            List<BtnFun> lBtn;
            using (PTE p = new PTE())
            {
                 lBtn = (from btn in p.BtnFun select btn).ToList<BtnFun>();
            }
            TableRow tr = new TableRow();
            foreach (BtnFun b in lBtn)
            {
                Button btn = new Button();
                btn.ID = b.BtnID;
                btn.Text = b.BtnText;
                btn.Visible = (bool)b.BtnVisible;
                
               // 这里如何把变量当方法绑定到Click事件中
               //btn.Click += new EventHandler(b.btndelegate);

                TableCell tc = new TableCell();
                tc.Controls.Add(btn);
                tr.Cells.Add(tc);
            }
            tbtn.Rows.Add(tr);
        }
事件绑定 C#
[解决办法]
楼主问题跟这个帖子一样吧
http://bbs.csdn.net/topics/390413386
[解决办法]

{
   ...
   btn.Click += GetHandler(b.btndelegate);
}
private EventHandler GetHandler(string cmd)
{
   switch(cmd.ToLower())
   {
      case "add": return this.add;
      case "alter": return this.alter;
      case "check": return this.check;
      case "del": return this.del;
   }
   return null;
}

[解决办法]
btn.Click += (EventHandler)Delegate.CreateDelegate(typeof(EventHandler), this, this.GetType().GetMethod(b.btndelegate, BindingFlags.Instance  


[解决办法]
 BindingFlags.Public 
[解决办法]
 BindingFlags.NonPublic));

热点排行