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

为何C#无法定义protected virtual成员?编译报错CS0106解析

报错原因解析
  • 核心问题:virtual修饰符不能用于字段,C#语法仅允许它修饰方法、属性、索引器或事件。
  • 你的代码里protected virtual string prop;是字段定义,违反了这个语法规则,所以触发CS0106错误。
  • 如果要实现可被子类重写的成员,需要改成属性形式,示例代码:
internal class Animal {
    protected virtual string Prop { get; set; }
}
  • 微软文档中提到protected可搭配virtual,是针对属性、方法这类可重写成员,并非字段,你之前混淆了修饰符的适用范围。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 08:39:53