我有一段在 Unity 中运行的简单代码:
string cmd = inputField.text;
foreach (var command in _commands)
{
Debug.Log("." + command.commandPattern + ".");
Debug.Log("." + cmd + ".");
Debug.Log(String.Equals(command.commandPattern.ToString(), cmd.ToString()));
}
_commands
是一个 Command
对象列表,它包含一个继承自 ResetCommand
的 Command
。以下是课程:
[Serializable]
public class Command
{
[SerializeField]
public string commandPattern;
public void Execute() { }
}
[Serializable]
public class ResetCommand : Command
{
public ResetCommand()
{
commandPattern = "reset";
}
public new void Execute()
{
SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
}
}
运行代码后,Unity 控制台输出如下所示:
这种比较似乎不起作用。知道我在这里做错了什么吗?
编辑: 这是调试器的屏幕截图。