• C#反射:获取自定义类,动态调用方法


    枚举自定义实体

                var assembly = Assembly.LoadFrom(string.Format("{0}Blackice.App.Model.dll", BaseConfig.BinnPath));
                var types = assembly.GetTypes();
                foreach (var t in types)
                {
                    ButtonList += string.Format("<input style=\"400px;\" type=\"button\" onclick=\"CreateTable('{0}')\" value=\"创建表[{0}]\" />",
                                                t.Name);
                }
    

      创建表

            protected void Page_Load(object sender, EventArgs e)
            {
                if(!IsPostBack)
                {
                    var table = Request["t"];
                    CreateTable(table);
                }
            }
    
            protected void CreateTable(string tableName)
            {
                if (string.IsNullOrEmpty(tableName)) return;
                var name = string.Format("Blackice.App.Business.{0}", tableName);
                var assembly = Assembly.LoadFrom(string.Format(@"{0}Blackice.App.Business.dll", BaseConfig.BinnPath));
                var t = assembly.GetType(name);
                var obj = t.InvokeMember(null,
                                         BindingFlags.DeclaredOnly | 
                                         BindingFlags.Public | 
                                         BindingFlags.NonPublic |
                                         BindingFlags.Instance | 
                                         BindingFlags.CreateInstance, null, null, new object[] {});
                var blnTemp =(bool)t.InvokeMember("CreateTable", 
                                            BindingFlags.InvokeMethod | 
                                            BindingFlags.Public | 
                                            BindingFlags.Instance,null, obj, new object[] {});
                var script = blnTemp
                    ? tableName + "操作成功"
                    : tableName + "操作失败";
                Response.Write(string.Format("<script>parent.$F('status').innerHTML='{0}'</script>",script));
            }
    

      

  • 相关阅读:
    L2-1 功夫传人 (25分)
    7-11 家庭房产(25 分)
    7-11 玩转二叉树 (25分)
    7-10 排座位 (25分)
    7-12 最长对称子串 (25分)
    7-10 树的遍历 (25分)
    STL
    Max Gcd
    水果
    Rails
  • 原文地址:https://www.cnblogs.com/blackice/p/2923062.html
Copyright © 2020-2023  润新知