Virtual Table



  • Hallo,

    ich bin verhältnismäßig neu bei C#.

    Ich habe mir eine virtuelle klasse gemacht, und leite von dieser
    ein paar ab. Wenn ich kurz nach der Instanzierung eine der virtuellen Mathoden ausführe, dann funktioniert das ab und an nicht. Erst als ich ein sleep() kurz nach der Instanzierung gemacht habe, läuft es immer ohne Fehler ab.

    Kann es sein dass die VT in C# ein bischen zeit braucht durch den garbage collector ??

    abstract class foo
    {
    
    protected abstract void bar();
    
    }
    
    class derived : foo
    {
    protected override void bar(){
    .....///Take the stuff
    }
    }
    
    static void Main(void)
    {
    foo a=new derived();
    a.bar() //Kommt nicht (immer) an .....///Take the stuff vorbei
    foo b=new derived();
    sleep(300);
    b.bar(); //is fine.
    
    }
    

    Ist das normal ???
    In C++ ist mir sowas nie passiert....

    Grüße Alex



  • Nee also sowas ist mir noch nie untergekommen. Ich würde eher sagen da gibts Probleme tiefer in deinem Code.


Anmelden zum Antworten