Αποθηκεύστε Όνομα μεταβλητής σε String σε VB.NET

ψήφοι
3

Προσπαθώ να αποθηκεύσετε τα ονόματα κάποιων μεταβλητών μέσα χορδές. Για παράδειγμα:

Dim Foo1 as Integer
Dim Foo1Name as String

' -- Do something to set Foo1Name to the name of the other variable --

MessageBox.Show(Foo1Name &  is the variable you are looking for.)
' Outputs:
' Foo1 is the variable you are looking for.

Αυτό θα βοηθήσει με κάποιο debugging δουλεύω.

Δημοσιεύθηκε 09/12/2008 στις 16:31
πηγή χρήστη
Σε άλλες γλώσσες...                            


5 απαντήσεις

ψήφοι
5

Λοιπόν, μπορείτε να με σαφήνεια μόνο που Foo1Name = «Foo1» - αλλά υποψιάζομαι έντονα ότι δεν είναι αυτό που ψάχνετε.

Πώς θα ξέρετε ποια μεταβλητή που προσπαθείτε να βρείτε το όνομα του; Ποια είναι η συνολική εικόνα; Τι θέλετε να είναι δυνατή με τη μελέτη, αν μιλάμε για μη-τοπικές μεταβλητές, αλλά υποψιάζομαι ότι είναι, είτε δεν είναι εφικτό, ή να υπάρχει ένας καλύτερος τρόπος για να χτυπήσουμε το πρόβλημα στην πρώτη θέση.

Απαντήθηκε 09/12/2008 στις 16:36
πηγή χρήστη

ψήφοι
2

Μήπως αυτό το παράδειγμα από το MSDN, χρησιμοποιώντας τον προβληματισμό βοήθεια;

Απαντήθηκε 09/12/2008 στις 16:44
πηγή χρήστη

ψήφοι
1

Νομίζω ότι αυτό εξαρτάται πραγματικά από αυτό που προσπαθείτε να διορθώσετε. Δύο πιθανές πράγματα που πρέπει να εξετάσουμε είναι η αντανάκλαση και stacktrace τάξεις. Τούτου λεχθέντος, όταν το πρόγραμμά σας έχει συνταχθεί, ο compiler και runtime δεν εγγυάται ότι ότι τα ονόματα πρέπει να είναι συνεπής με το αρχικό πρόγραμμα.

Αυτό είναι ιδιαίτερα η περίπτωση με εντοπισμού σφαλμάτων εναντίον χτίζει απελευθέρωσης. Το σημείο των αρχείων .pdb (σύμβολα) στην έκδοση εντοπισμού σφαλμάτων πρέπει να περιλαμβάνουν περισσότερες πληροφορίες σχετικά με το αρχικό πρόγραμμα. Για μητρική Γ εφαρμογές / C ++ συνιστάται ότι έχετε δημιουργήσει σύμβολα για κάθε κατασκευή (debug + απελευθέρωση) της εφαρμογής σας για να βοηθήσει με τον εντοπισμό σφαλμάτων. Σε .NET αυτό είναι λιγότερο από ένα θέμα, δεδομένου ότι υπάρχουν χαρακτηριστικά όπως προβληματισμού. IIRC John Robbins συνιστά να παράγουν πάντα τα σύμβολα για τα σχέδια ΝΕΤ πάρα πολύ.

Μπορείτε επίσης να βρείτε Mike στάβλο του blog χρήσιμο και τα κατάφεραν εντοπισμού σφαλμάτων δείγματα.

Απαντήθηκε 09/12/2008 στις 16:55
πηγή χρήστη

ψήφοι
1

Μια λύση θα ήταν να χρησιμοποιήσετε ένα associative array για να αποθηκεύσει τις μεταβλητές σας. Κάποτε, έκανα αυτό το .Net, αλλά νομίζω ότι έγραψα μια προσαρμοσμένη κατηγορία για να το κάνει.

myArray("foo1Name") = "foo1"

Στη συνέχεια, μπορείτε να αποθηκεύσετε μόνο μια λίστα με τα ονόματα των μεταβλητών σας, ή μπορείτε να τυλίξετε ότι στην ίδια τάξη.

if( myArray(variableName(x)) == whatImLookingFor ) print variableName(x) & "is it"
Απαντήθηκε 09/12/2008 στις 16:45
πηγή χρήστη

ψήφοι
0

Για την εύρεση το όνομα της μεταβλητής, δείτε: Ψάχνοντας το όνομα της μεταβλητής πέρασε σε λειτουργία

Αυτό θα ισχύει για VB.Net, καθώς και.

Απαντήθηκε 09/12/2008 στις 16:46
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more