Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Ανάθεση τιμής σε μεταβλητή μέσω Reflection

Îåêßíçóå áðü ôï ìÝëïò pontifikas. Τελευταία δημοσίευση από το μέλος pontifikas στις 04-08-2006, 13:05. Υπάρχουν 4 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  04-08-2006, 11:43 15477

    Ανάθεση τιμής σε μεταβλητή μέσω Reflection

    Έχω μια public static μεταβλητή της οποίας θέλω κάποια στιγμή,  δυναμικά, να μπορώ να της δώσω κάποια τιμή.
    Μπορώ να κάνω το αντίστροφο(να διαβάσω την τιμή της δηλ, με την invoke) αλλά αυτό πώς το κάνω??

  •  04-08-2006, 12:13 15480 σε απάντηση της 15477

    Απ: Ανάθεση τιμής σε μεταβλητή μέσω Reflection

    System.Reflection.FieldInfo fieldInfo = typeof(MyClass).GetField("myField", BindingFlags.Public | BindingFlags.Static);
    fieldInfo.SetValue(null, newValue);


    Νατάσα Μανουσοπούλου
  •  04-08-2006, 12:24 15482 σε απάντηση της 15480

    Απ: Ανάθεση τιμής σε μεταβλητή μέσω Reflection

    Πυρ, γυνή και θάλασσα (F)(και Fortran)Stick out tongue
    Να το κάνω πιο δύσκολο όμως,γιατι στο μεταξύ την βρήκα και εγώ την απάντηση
    Type myType;
    FieldInfo finfo = myType.GetField(varName);//
    finfo.SetValue(myType, varValue);


    Αν είναι πίνακας και εγώ θέλω
    K[0,1,33]=varValue
    Πώς το κάνω?
  •  04-08-2006, 12:50 15486 σε απάντηση της 15482

    Απ: Ανάθεση τιμής σε μεταβλητή μέσω Reflection

    Αν το πεδίο σου είναι πίνακας, η τιμή του είναι το reference του πίνακα. Οπότε:
                System.Array myArray = fieldInfo.GetValue(null) as System.Array;
                myArray.SetValue(newValue, index1, index2, indexN);


    Νατάσα Μανουσοπούλου
  •  04-08-2006, 13:05 15488 σε απάντηση της 15486

    Απ: Ανάθεση τιμής σε μεταβλητή μέσω Reflection

    Προσκυνώ!!!!
    Συνέχεια ξεχνάω ότι ζώ σε ένα referenced περιβάλλον!!
    Ευχαριστώ πολύ.Smile
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems