Ist es möglich, auf eine Variable zuzugreifen, die lokal für den Aufruf der Methode ist? Angenommen, es gab eine lokale Variable namens foo. Die Methodenleiste, die anschließend aufgerufen wird, muss auf die Variable foo zugreifen, ohne dass sie als Parameter übergeben wird, da ich sowieso die Reflektion verwenden muss, um den deklarierten Namen der Variablen zu erhalten.Zugriff auf lokale Variable, von wo aus die Methode über Reflektion aufgerufen wird?
Antwort
Nicht wirklich, nein. Die lokale Variable wird auf dem Stapel vorhanden sein, wo die Reflexion sie nicht berühren kann. Es klingt auch so, als hätten Sie sich auf eine schlechte Lösung für Ihr tatsächliches Problem (das Sie nicht beschrieben haben) festgelegt und sind unnachgiebig bei der Verwendung dieser schlechten Lösung, anstatt sich für ein besseres Design zu entscheiden.
Ich mache eine If-Each-Methode, die einen Ausdruck (geschrieben als String) für jedes Element in einer iterierbaren Sammlung auswertet. Ich habe undEs (Iterable iterable, String-Ausdruck) und orEach (Iterable iterable, String-Ausdruck). Ich freue mich über Ihr Feedback. Was denkst du könnte ich anders machen? – mfgravesjr
Wählen Sie wahrscheinlich eine andere Programmiersprache. Das ist eine ziemlich unpassende "Idee" für eine stark typisierte Sprache wie Java. – Kayaman
Können Sie ein Beispielcode für das, was Sie versuchen, veröffentlichen? – lucasvw