- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我知道 virtual
和 sealed
关键字的定义,但是如果你不使用它们中的任何一个方法,是否可以默认覆盖该方法?
我来自 vb.net 背景。它在 vb.net 中是这样的(来自 MSDN):
If the Overridable or NotOverridable modifier is not specified, the default setting depends on whether the property or method overrides a base class property or method. If the property or method overrides a base class property or method, the default setting is Overridable; otherwise, it is NotOverridable.
我只想知道在 C# 中是否也是如此。
最佳答案
不,它不能。您需要显式地将一个方法标记为虚拟方法,以允许它在派生类中被重写。
然而,您可以做的是使用 new 关键字隐藏方法。 (MSDN 文档)
sealed 关键字用于类定义和方法。它不允许从类继承或覆盖方法。默认情况下,如果你不使用这个关键字,其他人将能够继承你的类。 ( MSDN Documentation )
关于c# - 默认情况下,C# 方法是密封的还是虚拟的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15420029/
当数据类扩展包含非抽象 open val 属性的密封类时,生成的子数据类包含与父类的私有(private)字段重复的私有(private)字段。 sealed class Foo(open val f
当封装一个.jar 文件(整个.jar,而不是特定的包)时,实际上封装了哪些包?它只是包含.class 文件的包,还是还包含父包和子包? 举个例子,假设我有一个包含单个 .class 文件 com.c
我可以很容易地为这样的密封案例类族一般派生一个编解码器: import io.circe._ import io.circe.generic.auto._ sealed trait Base case
我有一个类层次结构: class C1 { virtual object M1(); } class C2: C1 { override sealed object M1(); } class C3:
有什么区别: type MovieType = {| +blob?: string, +name: string, +url?: string |}; 和 type MovieType =
想象一个这样的 secret : apiVersion: v1 kind: Secret metadata: name: {{ include "test-cicd.fullname" . }}
因此,我的一位开发人员使用这样的函数为 Magento 电子商务网站制作自定义导航: getUrl() ?>">__('about') ?> 唯一的问题是它的输出如下: about 据我了解,如果同时
我是一名优秀的程序员,十分优秀!