首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.NET 4函数:函数参数问题

.NET 4函数:函数参数问题
EN

Stack Overflow用户
提问于 2010-08-07 12:41:48
回答 2查看 244关注 0票数 2

我正在遵循.NET 4框架上的一个tutorial on MVC。本教程创建了一个如下所示的函数...

代码语言:javascript
复制
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,有人解释一下它的语法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-08-07 12:43:04

这是个extension method。(从C# 3.0开始):

扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。扩展方法是一种特殊的静态方法,但它们被调用时就好像它们是扩展类型上的实例方法一样。对于用C#和Visual Basic编写的客户端代码,调用扩展方法与在类型中实际定义的方法没有明显区别。

票数 6
EN

Stack Overflow用户

发布于 2010-08-07 12:52:51

您可以通过两种方式调用该扩展方法:

代码语言:javascript
复制
HtmlHelpers.Truncate(helper, input, length)

代码语言:javascript
复制
helper.Truncate(input, length)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3429154

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档