首頁 >後端開發 >C++ >C# 反射能否顯示呼叫方法的名稱和型別?

C# 反射能否顯示呼叫方法的名稱和型別?

Susan Sarandon
Susan Sarandon原創
2024-12-30 20:45:10631瀏覽

Can C# Reflection Reveal the Calling Method's Name and Type?

透過反射取得呼叫方法詳情

問題:

C🎜>問題:

C🎜>C中可以利用反射嗎檢索呼叫目前方法的名稱和型別方法?

答:

public class SomeClass
{
    public void SomeMethod()
    {
        StackFrame frame = new StackFrame(1);
        MethodBase method = frame.GetMethod();
        Type type = method.DeclaringType;
        string name = method.Name;
    }
}

是的,可以的。以下是如何實現此目的的程式碼示範:

public class Caller
{
    public void Call()
    {
        SomeClass s = new SomeClass();
        s.SomeMethod();
    }
}

考慮以下附加類別:

在這種情況下,變數名稱和類型將分配有值「分別為“呼叫”和“呼叫者”。更新4.5:

.NET 4.5 中引入的CallerMemberNameAttribute 簡化了此過程。方法的需要。

以上是C# 反射能否顯示呼叫方法的名稱和型別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn