我有一个"命令列表"我正在开发的控制台应用程序。其中之一是打印所有可供玩家使用的命令的方法。我已尝试在Type.GetMethods
课程上调用CommandsList
以便列出所有内容,但下面的returnString
为空。使用断点后,我发现commands
也是空的,即使CommandsList
中存在公共方法。这是我第一次尝试使用Type.GetMethods
,所以我确定我做错了什么。如果有人可以帮我解决这个问题,我将不胜感激。以下是我的代码:
using System;
using System.Reflection;
using System.Collections;
using System.Collections.Generic;
public static class CommandsList {
//(Other commands)
public static void Commands() {
MethodInfo[] commands = typeof(CommandsList).GetMethods(BindingFlags.Public);
string returnString = "";
foreach(MethodInfo info in commands) {
returnString += info.Name + " ";
}
Console.WriteLine(returnString);
}
}
答案 0 :(得分:4)
您需要告诉您想要静态方法的命令:
var commands = typeof(CommandsList).GetMethods(BindingFlags.Public | BindingFlags.Static);