class Program { static void Main(string[] args) { A b = new B(); ((IC)b).M(); b.M(); } } interface IC { void M(); } class A : IC { public virtual void M() { Console.WriteLine("In class A"); } #region IC Members void IC.M() { Console.WriteLine("In class A(IC)"); } #endregion } class B : A, IC { } 输出什么? 如果Class b是: class B : A, IC { public override void M() { Console.WriteLine("In class B"); } } 输出什么? 如果class B是: class B : A, IC { public new void M() { Console.WriteLine("In class B"); } } 输出什么? 如果B是: class B : A, IC { public override void M() { Console.WriteLine("In class B"); } #region IC Members void IC.M() { Console.WriteLine("In class B(IC)"); } #endregion } 输出什么? class B : A, IC { public new void M() { Console.WriteLine("In class B"); } #region IC Members void IC.M() { Console.WriteLine("In class B(IC)"); } #endregion } 如果b是: class B : A, IC { void IC.M() { Console.WriteLine("In class B(IC)"); } } 输出什么? 搞晕了........................... 如果B是: |