You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Blazor分部类继承ComponentBase派生基类报CS0115、CS0263错误如何处理?

错误产生原因

两个编译错误的核心根源是同一个分部类Something的两个部分(.razor编译生成的自动代码、.razor.cs手写的代码)指定了不同的基类:

  • Blazor框架在编译.razor文件时,默认会给自动生成的Something分部类隐式指定基类为ComponentBase
  • 你在Something.razor.cs里手动给同一个Something分部类指定基类为SomethingBase

编译器识别到同一个分部类存在两个不同的基类声明,直接抛出CS0263错误。而CS0115是衍生错误:Blazor会自动为组件生成BuildRenderTree方法,该方法默认是重写ComponentBase中的对应方法,基类不一致时找不到可重写的匹配方法,因此抛出该错误。
你直接让Something继承ComponentBase时,和.razor自动生成的基类一致,因此不会触发冲突。

解决方案

只需要统一两个分部类的基类声明即可,推荐按以下步骤操作:

  • 在something.razor文件的第一行添加声明:@inherits SomethingBase
    显式指定Razor侧生成的分部类基类为SomethingBase,和代码后置文件的基类保持一致
  • 额外检查项:
    • 确认SomethingBase类是public访问修饰符,且确实继承自ComponentBase
    • 确认分部类Something的两个部分的访问修饰符完全一致,类名大小写完全匹配
    • 确认.razor文件名和代码后置文件名的类名部分大小写匹配,避免编译时无法关联两个分部类

内容的提问来源于stack exchange,提问作者Power5000

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 18:06:03