如何通过 Resharper 8.2.1 停止 INCORRECT_TYPE_PARAMETER_NUMBER 错误

Posted

技术标签:

【中文标题】如何通过 Resharper 8.2.1 停止 INCORRECT_TYPE_PARAMETER_NUMBER 错误【英文标题】:How to stop INCORRECT_TYPE_PARAMETER_NUMBER error by Resharper 8.2.1 【发布时间】:2014-07-24 11:26:02 【问题描述】:

当我在其中添加抽象泛型类时,我从 Resharper 收到此错误

<configuration>
    <system.web.webPages.razor>
        <pages pageBaseType="LegalAudit.Web.WebViewPageBase">
   ...

还有班级:

public abstract class WebViewPageBase<TModel> : WebViewPage<TModel>

    // ...

在错误列表中做出“忽略此错误”后会时不时出现。如何彻底摆脱它?

(here 有一个链接的问题,但它没有连接到 resharper。)

谢谢!

【问题讨论】:

你试过了吗:LegalAudit.Web.WebViewPageBase``1LegalAudit.Web.WebViewPageBase``1[[LegalAudit.Web.ModelBase]] 啊!所以一个反引号`,而不是两个。但是 SO 不允许我突出显示该语法。 Register generic page base class的可能重复 @jessehouwing 不,这行不通。我已经尝试过LegalAudit.Web.WebViewPageBase&amp;lt;TModel&amp;gt;,它在`public class_Page_Views_Home_Index_cshtml:LegalAudit.Web.WebViewPageBase`处与“CS1514:预期”中断。到目前为止,我不知道如何解决它。 @derigel 那不一样。上面写了为什么。 @Artjom,错误相同,解决方案不是。这绝对是 ReSharper 的错误。 【参考方案1】:

制作另一个非泛型类解决了错误:

public abstract class WebViewPageBase<TModel> : WebViewPage<TModel>

    // ...


public abstract class WebViewPageBase : WebViewPageBase<object>



【讨论】:

有人可以解释一下吗...也许可以链接我要阅读的内容,谢谢 这在我得到的所有视图中都不起作用 严重性代码描述 项目:错误 CS0103 在与自定义扩展基类相关的许多其他错误中,当前不存在名称“ViewBag”。不仅如此,由于这些错误,我无法发布【参考方案2】:

当我将以下内容添加到 web.config 时,错误消失了,正如预期的那样。 Reshaper 正确地希望您指定 WebViewPageBase 的特定实现:

  <system.web.webPages.razor>
    <pages pageBaseType="MvcApplication1.WebViewPageBase`1[[TModel]]">
    </pages>
  </system.web.webPages.razor>

namespace MvcApplication1

    using System.Web.Mvc;

    public abstract class WebViewPageBase<TModel> : WebViewPage<TModel>
    

    

【讨论】:

感谢您的回答。然而它并没有帮助。所有视图都因 R# 错误而中断,例如“Argument type '...ViewModel' is notassignable to model type 'TModel'”和编译错误,例如:“public class _Page_Views_Home_Index_cshtml : ....Web.WebViewPageBase[[TModel] ]"。顺便说一句,ildasm 显示像MvcApplication1.WebViewPageBase1`这样的类。 这是有道理的,因为TModel...ViewModel 不同。以下应该再次起作用:MvcApplication1.WebViewPageBase`1[[MvcAppliation1.YourBaseViewModel]]。 我没有基类。我尝试过使用某些视图继承的接口,但没有帮助(上面的错误)。无论如何,我在WebViewPageBase 中对TModel 没有任何限制,所以这看起来不是很好的解决方案。更新。它不适用于..[[System.Object]]

以上是关于如何通过 Resharper 8.2.1 停止 INCORRECT_TYPE_PARAMETER_NUMBER 错误的主要内容,如果未能解决你的问题,请参考以下文章

ReSharper 8.2.1 不工作

安装 ReSharper 后 Visual Studio 2005 Intellisense 停止工作

在 Visual Studios 2017 和 Resharper 中停止继续测试重新编译窃取光标

Ctrl-W 停止工作

ReSharper 在 VS2013 中阻止键盘输入

如何自定义 Resharper 的“代码清理”以​​更改 C# 中的文档标题规则