C#对象是否知道更具体的类的类型?

时间:2008-11-24 23:13:20

标签: c# object types

假设您创建一个通用Object变量并将其分配给特定实例。如果你做GetType(),它会得到Object类型还是原始类的类型?

3 个答案:

答案 0 :(得分:3)

你也可以这样做:

object c = new FooBar();
if(c is FooBar)
     Console.WriteLine("FOOBAR!!!");

答案 1 :(得分:2)

简短回答:GetType()将返回特定对象的类型。我做了一个快速的应用来测试这个:

        Foo f = new Foo();
        Type t = f.GetType();

        Object o = (object)f;
        Type t2 = o.GetType();

        bool areSame = t.Equals(t2);

是的,他们是一样的。

答案 2 :(得分:0)

调用GetType()将调用ACTUAL类型。如果您想知道基类型,可以调用GetType()。BaseType