warum-Objekt.GetType() ist nicht virtuell?

code sample von MSDN

public class Test {
public static void Main() {
  MyBaseClass myBase = new MyBaseClass();
  MyDerivedClass myDerived = new MyDerivedClass();
  object o = myDerived;
  MyBaseClass b = myDerived;

  Console.WriteLine("mybase: Type is {0}", myBase.GetType());
  Console.WriteLine("myDerived: Type is {0}", myDerived.GetType());
  Console.WriteLine("object o = myDerived: Type is {0}", o.GetType());
  Console.WriteLine("MyBaseClass b = myDerived: Type is {0}", b.GetType());   }}

/*
This code produces the following output.
mybase: Type is MyBaseClass
myDerived: Type is MyDerivedClass
object o = myDerived: Type is MyDerivedClass
MyBaseClass b = myDerived: Type is MyDerivedClass 
*/

So wäre es logisch zu machen GetType() virtual zumindest funktioniert als virtuelle? Kann jemand explaine das?
Und die andere Frage Ist jede andere Methode in der NET-framework, die Verhalten gleichermaßen GetType?

InformationsquelleAutor Arseny | 2010-07-15
Schreibe einen Kommentar