java 匿名委托_委托和匿名委托

只讲实例:

委托的目的就是提高代码的内聚降低耦合度

///

/// 获取json格式

///

///

public JsonResult getActionJson()

{

JsonResult json = new JsonResult();

string Str_info=Request["Str_info"].ToString();//所有的信息字段

List list = new List();//获取list

getActionList glist = _getList_ZXSearch;

list= _getActionList(Str_info, glist);

json.Data = list;

json.JsonRequestBehavior = JsonRequestBehavior.AllowGet;

return json;

}

///

/// 声明获取list列表

///

///

///

///

public  delegate List getActionList(string Str_info);

public List _getActionList( string Str_info, getActionList list) {

return  list.Invoke(Str_info);

}

///

/// 装箱查询

///

/// 获取字段的值

/// 所有的信息字段

///

public List _getList_ZXSearch(string Str_info)

{

DataTable dt = null;

string sql = " select a.OrdID,a.C,a.K,a.G,a.Weight,a.batchID,a.boxID,a.isout from OrderBox a inner join  (select ProjSys from ProjDetail  where ProjPact='" + Str_info.Split(',')[0] + "' or ProjPact0='" + Str_info.Split(',')[0] + "') b on a.ProjSys=b.ProjSys  ";

dt = getDt(sql);

List list = new List();

foreach (DataRow dr in dt.Rows)

{

list.Add(new { 产品编号 = dr["OrdID"], 箱长 = dr["C"], 箱宽 = dr["K"], 箱高 = dr["G"], 重量 = dr["Weight"], 批次 = dr["batchID"], 箱号 = dr["boxID"] });

}

return list;

}

///

/// 获取table

///

///

///

public DataTable getDt(string sql)

{

DataTable dt = null;

try

{

dt= FXSmart.KST.DAL.SqlHelper.GetDS(sql).Tables[0];

}

catch (Exception ex) {

throw ex;

}

return dt;

}

顾名思义,这个方法就是定义一个方法,把方法当参数传进去然后指向特定的方法。

下面是匿名委托,相同的代码进行改造。这里稍微有点改动。

///

/// 获取json格式

///

///

public JsonResult getActionJson()

{

JsonResult json = new JsonResult();

string Str_info=Request["Str_info"].ToString();//所有的信息字段

List list = new List();//获取list

list=   getActionList glist=new getActionList(string Str_info) {

DataTable dt = null;

string sql = " select

a.OrdID,a.C,a.K,a.G,a.Weight,a.batchID,a.boxID,a.isout from OrderBox a

inner join  (select ProjSys from ProjDetail  where ProjPact='" +

Str_info.Split(',')[0] + "' or ProjPact0='" + Str_info.Split(',')[0] +

"') b on a.ProjSys=b.ProjSys  ";

dt = getDt(sql);

List list = new List();

foreach (DataRow dr in dt.Rows)

{

list.Add(new { 产品编号 = dr["OrdID"], 箱长 = dr["C"], 箱宽 = dr["K"], 箱高 =

dr["G"], 重量 = dr["Weight"], 批次 = dr["batchID"], 箱号 = dr["boxID"] });

}

return list;

}

json.Data = list;

json.JsonRequestBehavior = JsonRequestBehavior.AllowGet;

return json;

}

public  delegate List getActionList(string Str_info);

这里已经简单了一些,下面更加的简化:

///

/// 获取json格式

///

///

public JsonResult getActionJson()

{

JsonResult json = new JsonResult();

string Str_info=Request["Str_info"].ToString();//所有的信息字段

List list = new List();//获取list

list=   getActionList glist=>(string Str_info) {

DataTable dt = null;

string sql = " select

a.OrdID,a.C,a.K,a.G,a.Weight,a.batchID,a.boxID,a.isout from OrderBox a

inner join  (select ProjSys from ProjDetail  where ProjPact='" +

Str_info.Split(',')[0] + "' or ProjPact0='" + Str_info.Split(',')[0] +

"') b on a.ProjSys=b.ProjSys  ";

dt = getDt(sql);

List list = new List();

foreach (DataRow dr in dt.Rows)

{

list.Add(new { 产品编号 = dr["OrdID"], 箱长 = dr["C"], 箱宽 = dr["K"], 箱高 =

dr["G"], 重量 = dr["Weight"], 批次 = dr["batchID"], 箱号 = dr["boxID"] });

}

return list;

}

json.Data = list;

json.JsonRequestBehavior = JsonRequestBehavior.AllowGet;

return json;

}

public  delegate List getActionList(string Str_info);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值