小编hen*_*000的帖子

C#Virtual和Override的内部工作原理

关于C#虚拟和覆盖机制如何在内部工作的主题已经在程序员中讨论过死亡......但是在google上半小时之后,我找不到以下问题的答案(见下文):

使用简单的代码:

public class BaseClass
{
  public virtual SayNo() { return "NO!!!"; }
}

public class SecondClass: BaseClass
{
  public override SayNo() { return "No."; }
}

public class ThirdClass: SecondClass
{
  public override SayNo() { return "No..."; }
}

class Program
{
  static void Main()
  {
     ThirdClass thirdclass = new ThirdClass();
     string a = thirdclass.SayNo(); // this would return "No..."

     // Question: 
     // Is there a way, not using the "new" keyword and/or the "hide"
     // mechansim (i.e. not …
Run Code Online (Sandbox Code Playgroud)

c# virtual inheritance overriding

9
推荐指数
3
解决办法
3727
查看次数

标签 统计

c# ×1

inheritance ×1

overriding ×1

virtual ×1