首頁 > 後端開發 > C++ > C#可以使用反射從字符串動態調用功能嗎?

C#可以使用反射從字符串動態調用功能嗎?

DDD
發布: 2025-01-26 02:21:08
原創
941 人瀏覽過

Can C# Invoke Functions Dynamically from Strings Using Reflection?

C#中透過字串呼叫函數

PHP可以很方便地透過字串呼叫函數。那麼,C#可以實現這個功能嗎?

解答:反射

是的,反射允許您動態地透過字串執行方法。方法如下:

Type thisType = this.GetType();
MethodInfo theMethod = thisType.GetMethod(TheCommandString);
theMethod.Invoke(this, userParameters);
登入後複製

這段程式碼之所以有效,是因為它使用方法名稱的字串表示形式檢索方法的MethodInfo。

非公共方法

如果您需要呼叫非公共方法,請使用BindingFlags:

MethodInfo theMethod = thisType
    .GetMethod(TheCommandString, BindingFlags.NonPublic | BindingFlags.Instance);
theMethod.Invoke(this, userParameters);
登入後複製

這指定了該方法是非公共的且特定於實例的。

以上是C#可以使用反射從字符串動態調用功能嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板