在 C# 中利用反射呼叫私有實例方法
從同一物件內動態呼叫私有方法需要使用 GetMethod()
和正確的 BindingFlags
。 GetMethod()
的預設行為僅傳回公共成員。
要存取私有實例方法,請像這樣修改您的程式碼:
<code class="language-csharp">MethodInfo dynMethod = this.GetType().GetMethod("Draw_" + itemType, BindingFlags.NonPublic | BindingFlags.Instance); dynMethod.Invoke(this, new object[] { methodParams });</code>
BindingFlags
枚舉控制方法搜尋。 BindingFlags.NonPublic
包含私人方法,BindingFlags.Instance
確保您的目標是實例方法(而不是靜態方法)。
以上是如何使用反射在C#中調用私人實例方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!