public void GetMethod(string method, string param)
{
string[] parames = { method, param };
Warn warn = new Warn();
MethodInfo GetMethodFromFunction = warn.GetType().GetMethod(parames[0], BindingFlags.Instance | BindingFlags.Public
| BindingFlags.NonPublic | BindingFlags.Static);
if (GetMethodFromFunction != null)
{
GetMethodFromFunction.Invoke(warn, new object[] { parames[1] });
//MessageBox.Show("找到了");
}
else
{
//LogHelper.WriteLog(DateTime.Now.ToString() + $@":未找到方法{method}");
//MessageBox.Show("找不到该方法");
}
}
这段代码展示了如何在C#中动态获取并执行一个对象的方法。它首先创建了一个`Warn`类的对象,然后使用`GetMethod`从对象类型中查找指定名称的方法,通过`BindingFlags`指定搜索范围。如果找到方法,则通过`Invoke`调用该方法。如果找不到方法,代码则会记录日志或显示消息框。

被折叠的 条评论
为什么被折叠?



