12.11 Informationen zu lokalen Variablen erhalten

Problem

Sie bauen ein Werkzeug auf, das Code untersucht, und brauchen Zugriff auf die lokalen Variablen in einer Methode.

Lösung

Nutzen Sie das LocalVariables-Property der Klasse MethodBody, um eine IList mit LocalVariableInfo-Objekten abzurufen, die jeweils eine lokale Variable in einer Methode beschreiben:

public static IList<LocalVariableInfo> GetLocalVars(string asmPath, string typeName, string methodName) { Assembly asm = Assembly.LoadFrom(asmPath); Type asmType = asm.GetType(typeName); MethodInfo mi = asmType.GetMethod(methodName); MethodBody mb = mi.GetMethodBody( ); IList<LocalVariableInfo> vars = mb.LocalVariables; // Informationen zu allen lokalen Variablen anzeigen. foreach (LocalVariableInfo ...

Get C# Kochbuch now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.