我有一个对象,其中包含一些方法,我想仅使用方法名称的字符串来调用一个方法。
object obj;
obj.method();
假设有一个方法MethodName,签名为void MethodName(int num)
,那么可以这样实现:
MethodInfo method = obj.GetType().GetMethod("MethodName",
BindingFlags.Public|BindingFlags.Instance)
method.Invoke(obj, 4) // void method
希望这可以帮到你。object obj;
var dyn = (dynamic) obj;
dyn.method();
method
仍必须作为代码中的文字出现。 - user166390