打开类与细化
2017-12-13 本文已影响0人
wayoona
细化使用方法:
![](https://img.haomeiwen.com/i8144069/6fbebf9859c86ac7.png)
![](https://img.haomeiwen.com/i8144069/e93b3f28e1bc791b.png)
![](https://img.haomeiwen.com/i8144069/642f9e52e6be0784.png)
区别:
打开类:可以重新打开已经存在的类,并对之进行动态修改
细化:打开类和细化的作用相似,区别在于细化不是全局性的,有效规避了猴子补丁的副作用。只在两种场合有效:
1. refine代码块内部
2.从using语句开始,到模块结束(若在模块内部,调用using);或者到文件结束(如果在顶层上文中调用using)
两点注意:
1. 不能在普通类中调用refine方法
2. 细化只能作用于直接的方法调用,不能改变原始方法,例如:
![](https://img.haomeiwen.com/i8144069/93022c4de7460b34.png)