الإجابة "الطريقة التي اتصل بي؟" في وقت التشغيل في .NET؟ أو هي بيانات Callstack مقروءة من قبل الكود؟

StackOverflow https://stackoverflow.com/questions/1873998

سؤال

يفترض أن هناك منهج ()، وطريقة () وطريقة ().

ويتم استدعاء المنهجية () في وقت التشغيل.

هل من الممكن معرفة العنوان المنهجي () من الطريقة؟

كنت أفكر إذا كان يمكن قراءة 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..

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top