在C#中,当希望给一个已经写好的类添加额外的方法的时候,能实现的有两种方法(可能不止):使用partial,或使用拓展方法。
partial
partial它有个问题,就是:当使用partial来添加额外方法的时候,在方法内,是可以调用到这个类的私有成员的。
这会是一个比较危险的举动,可能会造成比如字段属性数值上的错误,从而引发一些意料之外的问题。
这种错误如果能立刻被发现还好,我们可以立刻对刚刚编写的方法进行修正。但如果这种错误没有立刻显现,而是经过了一段时间后才体现出来的话,跟踪并修正它将会十分的困难。
拓展方法
使用拓展方法的话就不存在这个问题,因为拓展方法仅仅只能调公有的成员。
总结就是:
选择拓展方法来对一个已经写好的类添加额外的方法,它的安全性更高。