在Mac、iOS系统下,objective-c可以通过category扩展一个类,添加方法,而无需源码。
在C#内,也提供了类似的手段,称之为"Extension Method".
来自微软的示例:
namespace ExtensionMethods
{
public static class MyExtensions
{
public static int WordCount(this String str)
{
return str.Split(new char[] { ' ', '.', '?' },
StringSplitOptions.RemoveEmptyEntries).Length;
}
}
}
这个示例中,演示了扩展string类,添加了一个static的方法: WordCount
。
使用时,直接作为
using ExtensionMethods;
//----
string s = "Hello Extension Methods";
int i = s.WordCount();