作业帮 > 综合 > 作业

最主要的让我注释了,只需要解释注释的即可.

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/31 23:10:52
最主要的让我注释了,只需要解释注释的即可.
public static ICollection GetCardHeadDataView() //返回的是一个接口吗?
{
List list = GetList();
var dt = new DataTable();
dt.Columns.Add(new DataColumn("Name",typeof(String)));
dt.Columns.Add(new DataColumn("Value",typeof(String)));
DataRow dr = dt.NewRow();
dr["Value"] = "-1";
dr["Name"] = "请选择";
dt.Rows.Add(dr);
for (int i = 0; i < list.Count; i++)
{
CardHead model = list[i];
dr = dt.NewRow();
dr["Name"] = model.HeadCode;
dr["Value"] = model.HeadCode;
dt.Rows.Add(dr);
}
var dv = new DataView(dt);
return dv;
}
public static ICollection GetCardHeadDataView() 这不是一个接口,这是一个方法,只不过这个方法的返回值是一个接口类型的变量
var dv = new DataView(dt); var是vs2008后新出现的声明变量的方式,叫做匿名变量声明,
相当于object dv=new DataView,意思是用var声明变量时,这个变量是模糊的,有可能是任何类型,
而DataView类型的变量,可以做某些控件的数据源,比如gridview.
再问: var dv = new DataView(dt); //这个什么意思 最关键的你没说 ,这样定义dv,他就是一个接口吗? 接口类型的变量不就是一个接口吗?
再答: 接口可以有实现类的,这里的DV不是一个接口,只是实现了ICollection 这个接口的一个实现类而已. var dv = new DataView(dt); var声明是匿名的,在未再次调用dv 之前是不知道dv是哪种类型,而下面return dv,说明就是把dv当作成了ICollection的实现类的一个实例,因为这个方法返回的类型是ICollection,建议你百度一下var.