继承,是给对象添加功能的好方法,但是如果没有源代码呢? 此时我们就可以用拓展方法了,它可以允许改变一个类,但不需要该类的源代码。
拓展方法是静态方法,也是类的一部分,但实际上没有放在类的源代码中,因此我们必须要建一个静态类,把想要拓展的方法添加为一个静态方法。
using System;
using System.Collections.Generic;
using System.Text;
namespace 拓展方法
{
class Program
{
static void Main(string[] args)
{
Class1 class1 = new Class1();
class1.Add("");
}
}
public class Class1
{
private string str;
public string Str { get; set; }
public Class1()
{ }
}
public static class ClassAdd
{
public static void Add(this Class1 class1, string str)
{
class1.Str += str;
}
}
}