c# - 你能覆盖私有(private)虚拟方法吗?

标签 c# virtual

我认为你可以,而我的同事认为你不能!

最佳答案

您甚至不能声明私有(private)虚拟方法。唯一有意义的情况是你有:

public class Outer
{
    private virtual void Foo() {}

    public class Nested : Outer
    {
        private override void Foo() {}
    }
}

...这是类型可以访问其父级私有(private)成员的唯一场景。然而,这仍然是被禁止的:

Test.cs(7,31): error CS0621: 'Outer.Nested.Foo()': virtual or abstract members cannot be private
Test.cs(3,26): error CS0621: 'Outer.Foo()': virtual or abstract members cannot be private

关于c# - 你能覆盖私有(private)虚拟方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2456222/

相关文章:

c# - .net 核心项目中的 Lambda 运算符

c# 数组的子字符串等价物

c# - 在 C# 中调用虚方法的替代方法

django - 为什么不在在线 windows 虚拟服务器 django 中执行子进程 ffmpeg?

c# - A/B 测试又称为拆分测试

C# Directory.exist 在本地网络上总是返回 false

javascript - 如何在 ASP Web 表单中通过 pdf.js 打印 pdf

scala - 成员函数默认为虚函数

C++ 重写方法未被调用

c# - 如何在 C# 中浏览本地虚拟文件夹?