今天来说说方法扩展吧。在使用第三方工具包开发的时候,往往我们需要使用到其中的一些方法。但是根据自身业务需求,可能希望对此方法进行扩展。但是苦于没有源代码。无法直接进行修改。C#给我们提供了一个选择的机会也就是“方法扩展”。举例来说以前vs开发人员引用了一个ComExBase.dll。该动态链接库中有一个称为ComBase的类。我们希望扩展这个类给他添加新方法,但是因为没有源码。所以我们无法修改它。现在使用方法扩展就可以实现这一要求。

namespace AddMethod
{
    public class AddMethod
    {
        static void Main(string[] args)
        {
            ComExBase.ComBase com = new ComExBase.ComBase();

            com.AddMethod();
        }
    }

    public static class AddExMethod
    {
        public static string AddMethod(this ComExBase.ComBase comBase)
        {
            return "Add Method Ok!";
        }
    }
}