Razor ILSpy(也称为NET Reflector)显示了一个只调用自身的方法,为什么?

Razor ILSpy(也称为NET Reflector)显示了一个只调用自身的方法,为什么?,razor,html-helper,anonymous-types,ilspy,Razor,Html Helper,Anonymous Types,Ilspy,将匿名类型传递给TextBox之类的HtmlHelper方法时,会出现绑定错误(因为匿名类型成员仅具有内部访问权限),除非您这样做 当我看到(HtmlHelper extension)InputExtensions.TextBox方法接受匿名类型时,我知道它必须在内部进行一些转换,否则它将失败并出现相同的错误 果然,它调用了HtmlHelper.AnonymousObjectToHtmlatAttributes方法,该方法的文档试图淡化这个问题,不提及它,而是建议它只是用破折号替换下划线,以确保

将匿名类型传递给TextBox之类的HtmlHelper方法时,会出现绑定错误(因为匿名类型成员仅具有内部访问权限),除非您这样做

当我看到(HtmlHelper extension)InputExtensions.TextBox方法接受匿名类型时,我知道它必须在内部进行一些转换,否则它将失败并出现相同的错误

果然,它调用了HtmlHelper.AnonymousObjectToHtmlatAttributes方法,该方法的文档试图淡化这个问题,不提及它,而是建议它只是用破折号替换下划线,以确保使用有效的属性名称。当然无论如何

我想确切地看到这种转换是什么样子的,但是当我在ILSpy中使用这个名称检查HtmlHelper的静态方法时,该方法似乎只是调用自己。这是怎么回事

public static RouteValueDictionary AnonymousObjectToHtmlAttributes(object htmlAttributes)
{
    return HtmlHelper.AnonymousObjectToHtmlAttributes(htmlAttributes);
}

来自System.Web.MVC.HtmlHelper的方法AnonymousObjectToHtmlAttributes正在调用来自System.Web.WebPages.Html.HtmlHelper的同名方法

ILSpy并没有明确提到这一点。我需要在课堂上悬停以显示它来自何处:


我在这里问了一个类似的问题。

System.Web.MVC.HtmlHelper中的匿名objecttohtmlattributes方法调用的是一个名称相同但来自System.Web.WebPages.Html.HtmlHelper的方法

ILSpy并没有明确提到这一点。我需要在课堂上悬停以显示它来自何处:


我在这里问了一个类似的问题。

@Triynko它回答了你的问题吗?@Triynko它回答了你的问题吗?