كيفية الحصول على قيمة المعلمة من StackTrace [نسخة مكررة]
-
10-07-2019 - |
سؤال
هذا السؤال لديه بالفعل إجابة هنا:
من داخل استدعاء الأسلوب، أحتاج إلى "القفز" إلى ثلاث طبقات أعلى المكدس واسترداد نوع وقيمة المعلمات التي تم تمريرها إلى تلك الطريقة.يعد الحصول على نوع المعلمة أمرًا سهلاً ولكن لم أتمكن من العثور على طريقة لتمرير القيمة إلى طريقة معينة في المكدس.
var st = new StackTrace();
var frames = st.GetFrames();
var methodParameters = frame[2].GetMethod().GetParameters;
// get each parameter value
ملحوظة:استخدام StackTrace
ليس إلزامي.
هل هناك طريقة للعثور على قيمة المعلمة التي تم تمريرها إلى طريقة أثناء وقت التشغيل؟
المحلول
لا أعتقد أن هناك طريقة إلا إذا قمت بتطوير نظامك الخاص لتخزين القيم.
تمثل مساحة اسم الانعكاس ثابتة بيانات حول التجميع، وسوف تحتاج إلى استرداد القيم في وقت التشغيل.
وجدت بوستشارب المذكورة في منتديات MSDN، ولكن لم أجربه مطلقًا.
لا تنتمي إلى StackOverflow