日期:2014-05-18  浏览次数:20708 次

关于c#中对于new关键字的问题
我想下班人都知道new关键字有3中用法,
1)new 运算符:用于创建对象和调用构造函数。这种大家都比较熟悉,没什么好说的了。
2)new 修饰符:在用作修饰符时,new 关键字可以显式隐藏从基类继承的成员。
3)new 约束:用于在泛型声明中约束可能用作类型参数的参数的类型。


但今天在看别人的源码是发现一个问题,求救啊!!
string EVA_ID = Request.GetRequestParam("EVA_ID");
string EVA_YEAR = Request.GetRequestParam("EVA_YEAR");

之后再后台发现下面这句话。。
new { EVA_ID = EVA_ID, EVA_YEAR = EVA_YEAR }

这句是什么意思呢?


------解决方案--------------------
构造了一个匿名类型,该类型包含两个属性:EVA_ID与EVA_YEAR。估计你是在某个LINQ的表达式里看见的。
------解决方案--------------------
匿名类型
------解决方案--------------------
这就是你说的第1种,创建一个匿名类,
语法糖而已
------解决方案--------------------
这是一个包含两个属性的匿名类