用4.0有一段时间了,但是只是当作2.0来作,最近有点时间找了4.0的特性来看了一下,发现一些小东西可以用得上的,记一下:
一、方法可选参数:
即是可以直接在方法的声明里给一些参数默认值,以达到方法引用时可以忽略那些有默认值的参数。避免多个重载方法。
如:DoSomething(int notOptionalArg,string arg1 = "default Arg1", string arg2 = "default arg2")
二、方法参数之命名参数
在某个大量参数的方法时,引用总会导致参数混乱,基本上很难找得出哪个值是哪个参数的,这个特性可以简化这个操作,
而且可以不按声明时的参数顺序来设置参数值,乃语法糖也。
如:DoSomething(notOptionalArg: 100,arg1:"default Arg1", arg2:"default arg2");
三、可扩展方法。
可以在不重构类达到对类进行方法添加操作,但要求必须声明在静态类的静态方法里,
如:
static class MeMethod
{
static string Val(this DateTime d , string val){ return val }
}
那么DateTime.Now里就多了一个Val(string val)方法。