这是 .NET 3.0 之后新增的一种特性,叫“扩展方法”。 扩展方法能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。扩展方法是一种特殊的
这是 .NET 3.0 之后新增的一种特性,叫“扩展方法”。
扩展方法能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用。
例如存在下列代码:
namespace ExtensionMethods
{
public static class MyExtensions
{
public static int zzyhost(this String str)
{
return 0;
}
}
}
那么在其他类下只需要 using ExtensionMethods;,所有 string 类型的对象就都拥有了 zzyhost() 这个方法,而无需你重写一个 string 类,比如:
string s = “Hello zzyhost”;
int i = s.zzyhost();
像题主这段代码就是使得 Bitmap 这个类型多了一个 function() 方法。