我正在我的 XNA 游戏中编写一个调试窗口。它只是一个StringBuilder
打印出来的东西。但是我想让它更具交互性。例如一个Player
类:
public class Player
{
public Vector2 Position { get; set; }
public int Health { get; set; }
}
我想要一个要调用的属性(或方法)列表。所以像:
list.Add(player1.Position);
list.Add(player1.Health);
list.Add(enemy2.Position);
因此,每次更新时,列表都会调用这些属性并打印它们的值。有没有办法做到这一点?我需要使用反射吗?使用方法而不是属性会有很大不同吗?
编辑:这是我目前拥有的https://github.com/nanexcool/xna-debug-window/blob/master/DebugWindow.cs
它通过将对象和属性名称指定为字符串来工作,但可能有更好的方法来做到这一点。