关于数组的 结果 不太明白 ? myEmployeeArray[i] = new Employee11(i); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 楼上说的对。因为Console.WriteLine("Value: {0}", obj);时调用了object.ToString加了虚函数后就会调用Employee11.ToString了 首先你这段代码编译就不能通过,empID为类Employee11的私有变量,return empID.ToString( ); 这句话就有问题。你重载ToString方法,但是ToString又不在类Tester里,该类就不能调用。你copy下去,自己csc一下,能通过吗? 我觉得这段代码和输出都没问题呀? 楼主有什么不明白的吗?虽然你把Employee11传给以Object为参数的方法,但是因为是reference type传的是引用,CLR仍然知道这个表面上的Object实际上是Employee11,所以在调用toString()方法时,CLR根据多态的原则,调用了这个Object对象的真实类型(Employee11)的ToString()方法 Console.WriteLine("Value: {0}", obj);这时候,编译器要调用obj的ToString函数,如果你的类中没有覆写(override)这个函数的话,由于你的类是从System.Object派生的,所以Object.ToString就被调用了.而Object.ToString的行为是:The default implementation returns the fully qualified name of the type of the Object. 正则匹配两处红色区域的问题 C#求一个精准的计时器 SharpDevelop能否修改VS2008等工具开发的源代码? c# winform应用程序:如何在一个IE窗口中打开不同的URL 请高手指点--page.findcontrol 问题 关于触摸屏的问题 windows Form 里面的DataGridView有的行进行了修改,还添加了两行,怎么用Update方法一次性保存到数据中? 请问如何能够同时激活多个窗体 请问在.NET环境下有什么数据库最好用? C#调用C++DLL,运行10几个小时后莫名闪退 做过或者目前正在做关于ppc方面项目的近来看看 关于消息ID,帮帮忙?
因为Console.WriteLine("Value: {0}", obj);时
调用了object.ToString
加了虚函数后就会调用Employee11.ToString了
虽然你把Employee11传给以Object为参数的方法,但是因为是reference type传的是引用,CLR仍然知道这个表面上的Object实际上是Employee11,所以在调用toString()方法时,CLR根据多态的原则,调用了这个Object对象的真实类型(Employee11)的ToString()方法
这时候,编译器要调用obj的ToString函数,如果你的类中没有覆写(override)这个函数的话,由于你的类是从System.Object派生的,所以Object.ToString就被调用了.而Object.ToString
的行为是:
The default implementation returns the fully qualified name of the type of the Object.