我正在遵循.NET 4框架上的一个tutorial on MVC。本教程创建了一个如下所示的函数...
using System.Web;
using System.Web.Mvc;
namespace vohministries.Helpers
{
public static class HtmlHelpers
{
public static string Truncate(this HtmlHelper helper, string input, int length)
{
if (input.Length <= length)
{
return input;
}
else
{
return input.Substring(0, length) + "...";
}
}
}
}我不知道this HtmlHelper helper在函数参数中是什么意思或表示什么。这是.NET 4中的新功能吗?我想它可能是在扩展HtmlHelper类,但我不是sure...Could,有人解释一下它的语法吗?
发布于 2010-08-07 12:43:04
这是个extension method。(从C# 3.0开始):
扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。扩展方法是一种特殊的静态方法,但它们被调用时就好像它们是扩展类型上的实例方法一样。对于用C#和Visual Basic编写的客户端代码,调用扩展方法与在类型中实际定义的方法没有明显区别。
发布于 2010-08-07 12:52:51
您可以通过两种方式调用该扩展方法:
HtmlHelpers.Truncate(helper, input, length)或
helper.Truncate(input, length)https://stackoverflow.com/questions/3429154
复制相似问题