C#神奇之壮大方法

  style=”font-size: large”>以前总听说扩展方法扩展方法,只是传闻是C#3.0后出来的初东西,也单独是清楚Linq中因故到博的扩充方法,但是他究竟是独什么东东,怎么用它们,用它的补是什么,总是模模糊糊,那么我们今天便尝试揭开它们神秘的面纱。

 
我们现在张每个方法还同声明其的好像涉,但是C#3.0底恢宏方法的性状扩展了是界限,允许编写和声明其的类以外的好像涉的法门。想如果了解如何使用这个特性,我们先行押一个例:

class MyData
{
    double D1,D2,D3;
    public MyData(double d1,double d2,double d3)
    {
        D1=d1;D2=d2;D3=d3;
    }
    public double Sum()
    {
        return D1+D2+D3;
    }
}

  
这是一个非常简单而且效果有限,但若是它涵盖另外一个智会再次发出因此,该措施返回三个数据的平分值.那么我们发几乎种植办法可以兑现这个多的功能.

  • 如我们来源代码,那么我们好直接修改是近乎,将计直接长进去.
  • 然而,如果我们不克改是仿佛,例如,如果这仿佛以一个叔正在的类库中,那么一旦她不是封的,那么我们得以把她看成基类并于派生类中贯彻之新增的方法.

 
如果我们无克看代码,或该类是密封的,或产生外设计由一旦这些点子无克工作,那么我们只能于另外一个近乎C#中行使该类的国有可用成员编写一个方法.

诸如,我们好编写一个底代码中这样的类似:

相关文章