Verfügbare Variablen auslesen

Snowcrack

Mitglied
Hallo zusammen,

wenn ich in Visual Studio Strg + Leertaste drücke, sehe ich unter anderem alle Variablen die in diesem Umfeld zur verfügung stehen.
Kann man diese Informationen auch aus einer .net Klasse lesen, so das ich sie zur Laufzeit verwenden kann?

Grüße Snowcrack
 
Leider verstehe ich nicht so ganz was du meinst...
IntelliSense zeigt dir sämtliche Member an die verfügbar wären, dazu gehören auch Klassen, wenn der entsprechende Namespace eingebunden wurde.

Ansonsten... stelle deine Frage nochmal ein bisschen verständlicher.
 
Ja, das ist klar :)

Jetzt möchte ich aber genau das, was mir IntelliSense anzeigt, im Code auslesen.
So nach dem Motto, IntelliSense.GetAllVariables()

Gibts eine Klasse die so was macht?
 
Hab jetzt VS nicht auf aber über meinObjekt.GetType() oder über typeof(MeinType) bekommst du ein Objekt vom Typ Type zurück.
Dieses bietet einige Methoden zum ermitteln von Properties oder Methoden, dieses aktuellen Types.
 
Code:
    class Test
    {
        string s1 = "str";

        public void Method1(int i)
        {
            string s2;

            try
            {
                int i2 = 4;
            }
            catch (Exception ex)
            {
                // Hier hätte ich gerne eine Klasse die mir sagt,
                // dass ich die Variablen:
                // s1
                // s2
                // i
                // ex
                // kenne und ansprächen könnte und mir am besten noch die Instanz zurück geben kann....
            }
        }
    }


Ist so was möglich?
IntelliSense bekommt das ja auch hin, die müssen das ja auch irgend wo auslesen...
 
IntelliSense ist wahrscheinlich eine Mischung aus Reflection, dem Auslesen von Metadaten aus Assemblies und einer Codeanalyse zur Laufzeit.

Schau dir Reflection an und analysiere mit der MSDN Hilfe inwieweit du auf die gewünschten Informationen Zugriff nehmen kannst.

Wenn ich dein Ziel richtig interpretiere möchtest du im Falle einer Exception sämtliche Informationen über den Zustand der Klasse erfahren.
Wenn du das zur Entwicklungszeit benötigst würde ich die VS-Debugger dafür empfehlen.
Sollen diese Informationen im produktiv Betrieb ermittelt werden, schau die mal den System.Diagnostics Namespace (http://msdn.microsoft.com/en-us/library/system.diagnostics.aspx) an.
 

Neue Beiträge

Zurück