2013-02-27 30 views
9

मैं कॉलिंग विधि नाम और विधि के अंदर इसके पैरामीटर प्राप्त करने के लिए नीचे दिए गए कोड का उपयोग कर रहा हूं।पैरामीटर इंफो मूल्य कैसे प्राप्त करें?

var stackTrace = new StackTrace(); 
var methodName = stackTrace.GetFrame(1).GetMethod().Name; 
var parameters = stackTrace.GetFrame(1).GetMethod().GetParameters(); 

foreach (var parameterInfo in parameters) 
{ 
    var name = parameterInfo.Name; 
    var value = "How to get value?"; 
} 

अब मेरा प्रश्न उस पैरामीटर का मान प्राप्त करना है। कोई विचार?

+0

संभावित डुप्लिकेट [क्या .NET में कॉल स्टैक में प्रत्येक फ्रेम के लिए पैरामीटर मान प्राप्त करना संभव है] (http://stackoverflow.com/questions/819576/is-it-possible-to-get-parameters- मूल्यों के लिए प्रत्येक फ्रेम में कॉल-ढेर में शुद्ध) – Habib

उत्तर

4

संक्षिप्त उत्तर यह है कि आप नहीं कर सकते हैं।

लेकिन यदि आप वास्तव में ऐसा करने पर जोर देते हैं तो कुछ और तरीके जटिल हैं। यहां पढ़ा गया है How get value of parameters in stacktrace

1

ऐसा करने का कोई आसान तरीका नहीं है। मैंने देखा है कि एकमात्र काम करने वाला दृष्टिकोण आपके एप्लिकेशन में कोड जोड़ रहा है जो बाहरी डीबगर को स्वयं संलग्न करेगा और स्टैक जानकारी पढ़ेगा। जॉन रॉबिन्स दिखा रहा है कि MDBG के संशोधित स्रोतों का उपयोग करके यह book है।

संबंधित मुद्दे