interface I { } class C: I { } I object = new C; assert(typeid(object) == typeid(C)); // failsIs this normal or is it a bug?Note, that the same works fine in case of a base class, rather then aninterface.
It works according to spec. Object is expression of type interface I, so no dynamic type search is performed.