我用的是vs2008,你的呢? 道理上确实应该先执行A的构造函数,而且调用的是B的重写方法,应该输出像你说的那样,但我的机器怎么就是这样?? 不关是VS08或者10的问题的,我的也是10的,是你代码问题吧,反正我是复制你的代码 using System; using System.Collections.Generic; using System.Linq; using System.Text;
namespace ConsoleApplication1 { class Program { static void Main(string[] args) {
B b1 = new B(); b1.PrintFields(); Console.ReadLine(); } } class A { public A() { PrintFields(); } public virtual void PrintFields() { } }
我用的是vs2008,你的呢? 道理上确实应该先执行A的构造函数,而且调用的是B的重写方法,应该输出像你说的那样,但我的机器怎么就是这样?? 不关是VS08或者10的问题的,我的也是10的,是你代码问题吧,反正我是复制你的代码 using System; using System.Collections.Generic; using System.Linq; using System.Text;
namespace ConsoleApplication1 { class Program { static void Main(string[] args) {
B b1 = new B(); b1.PrintFields(); Console.ReadLine(); } } class A { public A() { PrintFields(); } public virtual void PrintFields() { } }