为何可以直接调用ReferenceEquals()?
cl a,b;
a=new cl();
b=new cl();
bool bl=ReferenceEquals(a,b);
ReferenceEquals()是Object的静态方法,为何可以直接调用而不是Object.ReferenceEquals()?
------解决方案--------------------Object 是所有类型的基类 继承了下来
所以不用 Object.ReferenceEquals()
在任何一个类下可以直接使用 ReferenceEquals()
------解决方案--------------------MSDN:
Object 类
支持 .NET Framework 类层次结构中的所有类,并为派生类提供低级别服务。这是 .NET Framework 中所有类的最终基类;它是类型层次结构的根。
------解决方案--------------------一句话..
Object是一切类的基类..
ReferenceEquals是Object类的一个静态方法..
而任何类都是继承Object基类的..
所以任何类中都有ReferenceEquals这个静态方法..
不知是否明白..
------解决方案--------------------举个简单的例子:
基类A有一个方法public static void test();
类B继承A,那B自然就继承了A中的test方法..
class Program
{
static void Main(string[] args)
{
//B继承A的Test方法,所以可以直接调用..
B.test();
}
}
class A
{
public static void test()
{
Console.WriteLine( "haha ");
}
}
class B : A
{
}