C# 请分享一个场景,其中始终使用C中的派生类对象调用基类方法#

C# 请分享一个场景,其中始终使用C中的派生类对象调用基类方法#,c#,inheritance,polymorphism,C#,Inheritance,Polymorphism,我希望输出为:- “我是一个人” 是否可以在不使用base关键字的情况下使用virtual和override 这意味着我想使用派生类对象作为im main()方法来调用基方法。然后从教师中删除ShowInfo方法。。。输出将是“我是人”这是教师提出的一种挑战:“不要使用base关键字,从Mainmethod”显示“我是人”还是什么?您正在寻找:public new void ShowInfo()中的教师与((Person)教师)一起显示ShowInfo()?分享你的研究成果对每个人都有帮助。告诉

我希望输出为:- “我是一个人”

是否可以在不使用base关键字的情况下使用virtual和override


这意味着我想使用派生类对象作为im main()方法来调用基方法。

然后从教师中删除ShowInfo方法。。。输出将是“我是人”这是教师提出的一种挑战:“不要使用
base
关键字,从
Main
method”显示“我是人”还是什么?您正在寻找:
public new void ShowInfo()
中的
教师
((Person)教师)一起显示ShowInfo()?分享你的研究成果对每个人都有帮助。告诉我们您尝试了什么,以及为什么它不能满足您的需求。这表明你花了时间来帮助自己,它使我们避免重复显而易见的答案,最重要的是,它帮助你得到一个更具体和相关的答案!也看到
class Program  
{  
    static void Main(string[] args)  
    {  
        Teacher Teacher= new Teacher();  
        Teacher.ShowInfo();  
        Console.ReadLine();  
    }    
} 

public class Person  
{  
  public virtual void ShowInfo()  
  {  
    Console.WriteLine("I am Person");  
  }  
}  


public class Teacher : Person  
{  
  public override void ShowInfo()  
  {  
    Console.WriteLine("I am Teacher");  
  }  
}  
class Program  
{ 
    static void Main(string[] args)
    {
        Teacher Teacher = new Teacher();
        ((Person)Teacher).ShowInfo();    //"I am Person"
        Teacher.ShowInfo();              //"I am Teacher"
        Console.ReadLine();
    }
}

public class Person
{
    public virtual void ShowInfo()
    {
        Console.WriteLine("I am Person");
    }
}

public class Teacher : Person
{
    public new void ShowInfo()
    {
        Console.WriteLine("I am Teacher");
    }
}