我在获取每个类中覆盖的方法的参数时遇到问题,正如它所说的
错误2参数1:无法从'方法组'转换为 'System.Reflection.MethodInfo'我的 project \ Commands \ Help.cs 44 61 MySteamBot
我有这个代码,错误来自。 (这是Help类的一部分,是Command类的另一个子类。)
public string FullName
{
get { return String.Format("{0} {1}", this.FirstName, this.Surname); }
}
这是我的Command类,加上另一个子类。
private Dictionary<string, Type> GetParams(System.Reflection.MethodInfo method)
{
Dictionary<string, Type> parameters = new Dictionary<string, Type>();
if (method != null && method.GetParameters().Length > 0)
{
foreach (ParameterInfo param in method.GetParameters())
{
parameters.Add(param.Name, param.ParameterType);
}
}
return parameters;
}
public override void Run(string commandName)
{
foreach (KeyValuePair<string, Command> command in MySteamBot.Command.commandList)
{
if (command.Key.ToLower() == commandName.ToLower())
{
Console.WriteLine(command.Key);
Console.WriteLine("\t{0}", command.Key);
Console.WriteLine();
Console.WriteLine("Arguments:");
foreach (KeyValuePair<string, Type> param in GetParams(command.Value.Run))
{
Console.WriteLine("\t{0}, {1}", param.Key, param.Value.ToString());
};
}
}
}
我明白它在运行时无法获得'动态'方法的参数,但那我该怎么做呢?
对不起,如果这太模糊了,我可以根据需要提供更多细节。