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

为何在接口方法上添加abstract修饰符编译器不报错?

关于C#接口中abstract关键字的说明
  • 接口中无实现的实例方法,默认就是抽象方法,必须由实现该接口的类提供具体实现。你在代码中显式添加abstract关键字属于冗余写法,但语法合法,因此编译器不会标红报错。
  • 从C# 8.0开始,允许在接口方法上显式标注abstract,但这不会改变方法的本质——编译器会将其与未标注abstract的接口方法同等处理,这也是你在SharpLab中看不到差异的原因,两种写法生成的IL代码完全一致。
  • 需要注意的是,只有无实现的接口实例方法才能添加abstract:如果是带默认实现的方法、静态方法或私有接口方法,标注abstract会触发编译错误,但你的示例中是标准的无实现接口方法,所以符合语法规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 02:05:24