Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah saya dapat mengenal pasti pemanggil kaedah dalam C#?

Bagaimanakah saya dapat mengenal pasti pemanggil kaedah dalam C#?

Linda Hamilton
Linda Hamiltonasal
2025-02-01 02:26:09173semak imbas

How Can I Identify the Caller of a Method in C#?

Gunakan stacktrace untuk mengenali kaedah dalam C#

dalam C#, menentukan kaedah memanggil kaedah semasa adalah penting untuk kegagalan dan debugging. Walaupun dapat memberikan maklumat mengenai kaedah semasa, ia tidak dapat memaparkan kaedah memanggilnya.

Untuk mendapatkan nama kaedah panggilan, anda boleh menggunakan kelas System.Reflection.MethodBase.GetCurrentMethod(). Tumpukan pelaksanaan penangkapan sedemikian, termasuk urutan kaedah panggilan titik semasa.

Penyelesaian: StackTrace

Buat objek :

  1. StackTrace Dapatkan bingkai yang sepadan dengan kaedah panggilan:
<code class="language-csharp">StackTrace stackTrace = new StackTrace();</code>
  1. Dapatkan nama kaedah panggilan:
<code class="language-csharp">StackFrame frame = stackTrace.GetFrame(1);  // 跳过当前方法帧</code>
    Contoh:
<code class="language-csharp">string callingMethodName = frame.GetMethod().Name;</code>
Penyelesaian Alternatif Kod Tunggal:

Atas ialah kandungan terperinci Bagaimanakah saya dapat mengenal pasti pemanggil kaedah dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn