الإجابة "الطريقة التي اتصل بي؟" في وقت التشغيل في .NET؟ أو هي بيانات Callstack مقروءة من قبل الكود؟
-
18-09-2019 - |
سؤال
يفترض أن هناك منهج ()، وطريقة () وطريقة ().
ويتم استدعاء المنهجية () في وقت التشغيل.
هل من الممكن معرفة العنوان المنهجي () من الطريقة؟
كنت أفكر إذا كان يمكن قراءة Callstack في وقت التشغيل لبعض الشيكات؟ إذا كانت الإجابة بنعم، أعتقد أنه لا ينبغي أن يكون مشكلة كبيرة.
أيه أفكار؟
شكرا!
المحلول
استخدم فئات StackTrace و StackFrame. علي سبيل المثال:
StackTrace stackTrace = new StackTrace();
StackFrame[] stackFrames = stackTrace.GetFrames();
foreach (StackFrame stackFrame in stackFrames)
{
string method = stackFrame.GetMethod().Name;
// do some stuff with method
}
نصائح أخرى
نعم، يمكن قراءة مكدس المكالمات عند وقت التشغيل باستخدام stacktrace.getframes..
لا تنتمي إلى StackOverflow