c#
扩展方法
- 当你要频繁对某一c#原有的类做某种繁琐的操作时,是否有想过,这蠢蛋c#怎么就不知道封装个***方法来给我用,但又苦于自己搓不了源码没办法自己加一个这种方法进去,在其他类写个方法又要专门传递这种类对象进去显得不舒适。最好的解决方法,扩展方法来啦。
语法规则
- 与通常定义一个方法的区别在于,你需要写入一个参数,类型前加上this,表示这个参数是调用这个方法的对象。
- 需要注意,扩展方法必须在非泛型静态类中定义
例子
- 拿字典来作为例子(字典的取值方法比map要麻烦,所以给其扩展一手)
- 代码如下
public static class DictionaryExtension
{
public static Value GetValue<Key,Value>(this Dictionary<Key, Value> dic,Key key)
{
Value value;
dic.TryGetValue(key, out value);
return value;
}
}