Hallo,
Ik ben een beetje aan het rommelen met Reflection, en dan met name met de methode MethodBase.GetCurrentMethod()
Zie dit stukje code:
Het mag duidelijk zijn dat de variable 'method' naar deze methode ('Test') verwijst. En de methode parameters (signature) kan ik uitlezen met de array 'ParameterInfo[]' van 'method'. Niet spannend allemaal.
Nu weet ik dat ik niet de values kan uitlezen die aan de methode worden meegegeven (bijvoorbeeld die van 'Param') via ParameterInfo[]. Want ParameterInfo geeft alleen informatie over de class, en niet over het object.
Toch vraag ik mij af of ik via een truuk kan weten welke waardes worden meegegeven aan deze method. Dus op een dynamische manier achter kan komen welke parameters aan deze method zijn meeggeven en wat de waardes daarvan zijn.
Iemand?
PS Iemand die zich afvraagt waarom ik dit wil, het is uiteindelijk bedoeld voor de trace class om informatie omtrent aanroepende methodes aan zijn listeners door te geven.
Ik ben een beetje aan het rommelen met Reflection, en dan met name met de methode MethodBase.GetCurrentMethod()
Zie dit stukje code:
code:
1
2
3
4
5
6
7
8
| using System.Reflection; public void Test(string Param) { MethodBase method = MethodBase.GetCurrentMethod(); foreach (ParameterInfo p in RunningMethod.GetParameters()) { ... } } |
Het mag duidelijk zijn dat de variable 'method' naar deze methode ('Test') verwijst. En de methode parameters (signature) kan ik uitlezen met de array 'ParameterInfo[]' van 'method'. Niet spannend allemaal.
Nu weet ik dat ik niet de values kan uitlezen die aan de methode worden meegegeven (bijvoorbeeld die van 'Param') via ParameterInfo[]. Want ParameterInfo geeft alleen informatie over de class, en niet over het object.
Toch vraag ik mij af of ik via een truuk kan weten welke waardes worden meegegeven aan deze method. Dus op een dynamische manier achter kan komen welke parameters aan deze method zijn meeggeven en wat de waardes daarvan zijn.
Iemand?
PS Iemand die zich afvraagt waarom ik dit wil, het is uiteindelijk bedoeld voor de trace class om informatie omtrent aanroepende methodes aan zijn listeners door te geven.