parameter, pointer and so on

  • Hey Leute hab da nen Problem^^


    Es ist theoretisch nen schönheitsproblem^^


    Also Klasse Noob und Klasse Bob und Volltrottel gibts^^


    Bob hat ne Load funktion die flexibel ein Objekt der Klasse Noob oder Volltrottel als Parameter nehmen können soll...
    Dieses Objekt soll am besten als Referenz übergeben werden weil unmanaged code unerwünscht ist ... also keine pointer ....


    das ganze sieht bisher ca so aus
    achtung pseudocode^^


    die referenz wird nicht genommen weil es nicht möglich ist die instanz in ein objet zu wandeln allerdings habe ich hier auch das Problem das ich meine Klasseninstanz nicht in ein objekt casten kann sodass es als referenz angenommen wird.
    ich könnte das klassen objekt einem standard objekt zuweisen allerding würde die referenz dann nix bringen da ja dann nur das neu zugewiesene objekt geändert wird....



    any ideas????


    danke im vorraus


    MfG Sick^

  • Code
    1. public static void Load(ref object obj){
    2. if (obj is Noob)
    3. ((Noob)obj).level = 0;
    4. else if (obj is Volltrottel)
    5. ((Volltrottel)obj).iw = 0;
    6. }


    So fuktionert das Ganze bei mir - ich weiss nicht wo dein Problem ist. :)
    Aber ein bisschen unschön ist das Ganze schon. :/

  • Schonmal was von der Ungarischen oder Polnischen Notation gehört??? :gutenmorgen: ;-)


    Jetzt zu dienem Problem.


    Mach am besten ein Struktogramm, hilft UNGLAUBLICH oft... Ist wirklich so!!!
    If then Else ist meiner Meinung nach der beste Weg.



    MfG


    Minato

  • Leute es geht um das übergeben des Objektes nicht ums benutzen in der Funktion^^


    mit


    Noob n = new Noob();
    Load(ref n);
    //Noob kann nicht in object konvertiert werden


    object n = new Noob();
    Load(ref n);
    //da ist das Problem das ich ohne eine folgekonvertierung nix machen kann


    Noob n = new Noob();
    object nn = n;
    Load(ref nn);
    //bringt nix weil dann nur das object geändert wird.



    Mein vorhaben ist es inzwischen die Load funktion in der Klasse Noob aufzurufen aber naja ich werds mit return machen müssen....