C#反射

根據(jù)moduleName反射到某個類某個方法

      [WebMethod(Description = "得到報表數(shù)據(jù)")]
      [SoapHeader("Credentials")]
      public DataSet GetRptData(string moduleName, DataSet dsCondition, string userNo)
      {
          DataSet ds = new DataSet();
          Type type = Type.GetType("Regentsoft.Plugin.Report.Bll." + moduleName + ",Regentsoft.Plugin.Report.Bll");
          if (type == null)
              return ds;

          object dObj = Activator.CreateInstance(type);
          //屬性
          System.Reflection.PropertyInfo property = type.GetProperty("UserNo");
          property.SetValue(dObj, userNo, null);
          System.Reflection.PropertyInfo property1 = type.GetProperty("DsCondition");
          property1.SetValue(dObj, dsCondition, null);

          //獲取方法的信息
          System.Reflection.MethodInfo method = type.GetMethod("Calculate");
          //調(diào)用方法的一些標(biāo)志位,這里的含義是Public并且是實例方法,這也是默認(rèn)的值
          System.Reflection.BindingFlags flag = System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance;
          //調(diào)用方法,用一個object接收返回值
          object obj = method.Invoke(dObj, flag, null, null, null);

          if (obj != null)
          {
              ds = (DataSet)obj;
          }

          return ds;
      }

轉(zhuǎn)換成DataView操作Datatable

       /// <summary>
        /// 取得選中的記錄
        /// </summary>
        /// <param name="dt"></param>
        /// <param name="selectFieldName">選擇字段名</param>
        /// <returns></returns>
        public static DataTable GetDataTableSelectData(DataTable dt, string selectFieldName)
        {
            if (dt == null)
                return null;

            DataView dv = new DataView(dt);
            dv.RowFilter = string.Format("{0} = 1", selectFieldName);

            return dv.ToTable();
        }

![B(IRRLH7`I$M}YLIC%GS(9.png

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容