gpt4 book ai didi

c# - 从字符串调用动态方法

转载 作者:行者123 更新时间:2023-11-30 20:43:41 27 4
gpt4 key购买 nike

我试图在不知道名称的情况下从动态调用方法。我很难用英语解释这个,所以有代码:

public void CallMethod(dynamic d, string n)
{
// Here I want to call the method named n in the dynamic d
}

我想要这样的东西:d.n()n 替换为字符串。

我想要这个:

Type thisType = this.GetType();
MethodInfo theMethod = thisType.GetMethod(TheCommandString);
theMethod.Invoke(this, userParameters);

但使用动态

如果您需要上下文来帮助您:我正在制作一个支持“mods”的应用程序,您将 DLL 放在 mod 文件夹中,它会加载并执行它。它适用于 dynamic(我有一个这样的字典:Dictionnary<string, dynamic> instances;)。我希望应用程序从库中获取方法名称(使用 instances["topkek"].GetMethods(); ,我已经制作了此方法),然后使用它返回的字符串调用该方法。我不知道我说的是否有意义(我是法国人:/)...

我正在使用 VS 2013 Express 和 .Net framework 4.5,如果你需要更多信息来帮助我,请问我。

最佳答案

你可以这样写你的方法-

public void CallMethod(dynamic d, string n)
{
d.GetType().GetMethod(n).Invoke(d, null);
}

关于c# - 从字符串调用动态方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30288955/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com