加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 扩展方法和Razor页面

发布时间:2020-12-16 06:44:54 所属栏目:asp.Net 来源:网络整理
导读:我在app_code中定义了一个扩展方法,如下所示. public static class Extensions{ public static string Hi(this object obj) { return "hi"; }} 在剃须刀页面,任何事情都可以说嗨:) @Html.Hi();@Request.Hi(); @this.Hi(); 但@Hi()不起作用.有没有办法让@Hi()
我在app_code中定义了一个扩展方法,如下所示.

public static class Extensions
{
    public static string Hi(this object obj)
    {
        return "hi";
    }
}

在剃须刀页面,任何事情都可以说嗨:)

@Html.Hi();
@Request.Hi();   
@this.Hi();

但@Hi()不起作用.有没有办法让@Hi()工作?

解决方法

C#仅允许您调用由对象实例限定的扩展方法.
如果您的扩展方法扩展了您的类型,则无法“直接”调用它;你需要写这个.ExtensionMethod().

执行您要求的唯一方法是创建一个继承WebPage(或用于MVC视图的WebViewPage)的类,并更改您的Razor页面以继承该类(使用@inherits指令)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读