粗略的讲我只知道,Base 是子类中引用父类.但是我昨天看了个例题:using System;namespace 实验base
{
class Automobile : Object
{
public override string ToString()
{
string tmp="试下base返回值出呼意料Look at here:"+base.ToString();
return tmp;
}
} class Program
{
static void Main(string[] args)
{
Automobile myAutomobile = new Automobile();
Console.WriteLine(myAutomobile.ToString());
Console.Read();
}
}
}//结果居然输出:试下base返回值出呼意料Look at here:实验base.Automobile
//怎么不是输出:试下base返回值出呼意料Look at here:Object呢?
msdn里这个讲解好象没挨上边.大家帮我解释下啊!
{
class Automobile : Object
{
public override string ToString()
{
string tmp="试下base返回值出呼意料Look at here:"+base.ToString();
return tmp;
}
} class Program
{
static void Main(string[] args)
{
Automobile myAutomobile = new Automobile();
Console.WriteLine(myAutomobile.ToString());
Console.Read();
}
}
}//结果居然输出:试下base返回值出呼意料Look at here:实验base.Automobile
//怎么不是输出:试下base返回值出呼意料Look at here:Object呢?
msdn里这个讲解好象没挨上边.大家帮我解释下啊!
public class Object
{
public virtual string ToString()
{
return this.GetType().ToString(); //<--
}
}
这是object.ToString的默认实现,其中GetType()获取当前实例的类型,是由CLR负责的一个函数。在你的例子中,this.GetType()就是"实验base.Automobile"。