我认为你可以,而我的同事认为你不能!
发布于 2010-03-17 00:35:25
你甚至不能声明私有的虚方法。它唯一有意义的时候是如果你有:
public class Outer
{
private virtual void Foo() {}
public class Nested : Outer
{
private override void Foo() {}
}
}..。这是类型可以访问其父类型的私有成员的唯一情况。但是,这仍然是被禁止的:
Test.cs(7,31):错误CS0621:'Outer.Nested.Foo()':虚拟或抽象成员不能是私有成员
Test.cs(3,26):错误CS0621:'Outer.Foo()':虚拟或抽象成员不能是私有
发布于 2010-03-17 00:36:51
你的同事是对的。你不能声明私有的虚方法,因为它没有意义(因为没有办法覆盖它们)……
但您可以覆盖受保护的虚拟方法。
发布于 2013-01-09 11:28:24
您将不会在派生类中为您的私有方法提供资金。因此,在这种情况下,virtual关键字没有sens。
https://stackoverflow.com/questions/2456222
复制相似问题