c# - 如何使用反射调用具有 0 个参数的非公共方法?
问题描述
我的班级有两种方法,如下所示:
void Update()
void Update(string)
通过反射,我想调用顶部的,但是当我尝试这个时:
const BindingFlags findFlags = BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance;
var methodInfo = script.GetType().GetMethod(methodName, findFlags);
我得到一个AmbiguousMatchException
. 如何调用无参数方法?
解决方案
这是你如何做到的:
var methodInfo = script.GetType().GetMethod("Update", findFlags, null, new Type[] { }, null);