我的问题属于这种情况
class A
{
public virtual void show()
{
Console.WriteLine("Hey! This is from A;");
}
}
class B:A
{
public sealed override void show()
{
Console.WriteLine("Hey! This is from B;");
}
}
class C:B
{
public new void show()
{
Console.WriteLine("Hey! This is from C;");
}
}
或者
class A
{
public void show()
{
Console.WriteLine("Hey! This is from A;");
}
}
class B:A
{
public new void show()
{
Console.WriteLine("Hey! This is from B;");
}
}
在上面的代码中 C 类隐藏了 B 类的方法 Show()
问:我如何确定没有 Subclass Override以及已经在 SuperClass 中定义的Hides方法
像这样的东西或可能readonly
是用于字段的关键字
class A1
{
public sealed void show() // I know it will give compilation error
{
Console.WriteLine("Hey! This is from A1");
}
}
class B1 : A1
{
public void show()
{
Console.WriteLine("You must get a compilation Error if you create method with this name and parameter");
}
}
有没有这样的关键词?
编辑1:
是的,我想阻止扩展器确保它使用带有方法名称和参数 coz 的正确实现,如果其他人查看代码它应该是正确的