我发现了一个这样声明的方法:
public static int WordCount(this string str)
{
return str.Length;
}
在这个特定的上下文中,this
关键字是什么?
这是一种扩展方法。扩展方法允许您扩展类型。它非常适合string
您无法访问源代码的类型。
使用您提供的示例,而不是调用
string test = "foo";
var result = StaticClass.WordCount(test);
您可以按如下方式使用它:
string test = "foo";
var result = test.WordCount();
琐事:LINQ 是使用扩展方法实现的,事实上,这是将扩展方法添加到 .NET 框架的主要原因。
它使它成为一种扩展方法。
这意味着您可以像这样调用该方法:
arg.WordCount();
而不是这样:
Class.WordCount(arg);
它主要用于扩展无法直接修改其源代码的类型(因此得名)。