Hiho.
In einem Berechnungsprogramm habe ich eine virtuelle Console drin. Bisher funktioniert alles super. Ich möchte die Console um eine Funktion ergänzen, die mir von einer beliebigen Variable aus meinen Prog den Wert ausgibt.
Also:
Konsoleneingabe:
get string1
Ausgabe:
is "blablabla"
Leider habe ich keine Ahnung wie ich das machen kann. wäre für einige Tipps dankbar.
Vorbild für meine Console war diese
Danke
Flo
Hallo,
mittels Reflektion kannst du auf die Felder einer Klasse zugreifen. Auf Variablen in Methoden ist das AFAIK nicht anwendbar.
Beispiel zur Veranschaulichung - die Erweiterung auf dein gewünschtes Verhalten ist dir überlassen 😉
using System;
using System.Reflection;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Foo foo = new Foo();
Type t = typeof(Foo);
BindingFlags flags = BindingFlags.NonPublic | BindingFlags.Instance;
FieldInfo fi = t.GetField("_myField", flags);
object value = fi.GetValue(foo);
Console.WriteLine(value);
Console.ReadKey();
}
}
public class Foo
{
private int _myField = 3;
}
}
mfG Gü
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.
"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"
Wäre aber nice, wenn man wenigstens die globalen variablen meines forms mi reinbringen könnte
Hallo FeelFlow,
Wäre aber nice, wenn man wenigstens die globalen variablen meines forms mi reinbringen könnte
Kannst du ja.
Es ist nur nicht möglich die Variablen aus den Methoden rauszuholen.
Aber an die Klassenvariablen kommst du locker ran.
Machs einfach so wie von Gfoidl beschrieben. Wobei Foo dann dein Form wäre.
Und mit GetField holst du dir die Felder raus und mit GetProperty holst du dir deine öffentlichen Eigenschaften raus.
Gruss
Michael
Ja das war klar, dass ich nicht an die Methodenvariablen komme.
Wäre es möglich, alle Globalen Variablen abzurufen. Sprich, er gibt mir die Bezeichner aller Globalen Variablen aus?
Hallo FeelFlow,
es gibt keine globalen Variablen in C#. Wie du an Membervariablen kommst, hat gfoidl bereits gezeigt.
herbivore