PHP可以很方便地通过字符串调用函数。那么,C#可以实现这个功能吗?
是的,反射允许您动态地通过字符串执行方法。方法如下:
<code class="language-csharp">Type thisType = this.GetType(); MethodInfo theMethod = thisType.GetMethod(TheCommandString); theMethod.Invoke(this, userParameters);</code>
这段代码之所以有效,是因为它使用方法名称的字符串表示形式检索方法的MethodInfo。
如果您需要调用非公共方法,请使用BindingFlags:
<code class="language-csharp">MethodInfo theMethod = thisType .GetMethod(TheCommandString, BindingFlags.NonPublic | BindingFlags.Instance); theMethod.Invoke(this, userParameters);</code>
这指定了该方法是非公共的且特定于实例的。
以上是C# 可以使用反射从字符串动态调用函数吗?的详细内容。更多信息请关注PHP中文网其他相关文章!