我发现了很多关于此的类似主题,但没有一个可以直接回答我的问题。我正在制作一个游戏,其中涉及放置不同类型的房间。我有一个 Room 类,然后是几个继承自该类的房间,例如 Bedroom、Canteen 等。
每个房间都有一定的静态参数来设置它的属性。例如:
public class Room : WorldEntity
{
public static string Name = "Room";
public static uint MinHeight = 0;
public static uint MinWidth = 0;
//...
}
public class Bedroom : Room
{
new public static string Name = "Bedroom";
new public static uint MinHeight = 4;
new public static uint MinWidth = 4;
//...
}
创建房间时,我首先通过所需房间的类型,例如
public static void PlaceRoom(Type T){//begin room creation process}
我想知道的是,如何从我的 PlaceRoom 函数中获取 T 的属性?例如,如何获得 T.MinHeight(当 T 为 Bedroom 类型时将返回 4)?还是有更好的方法来解决这个问题?
直到稍后,我才打算初始化我的类 T(其中 T : Room),所以这就是为什么成员是静态的并且我正在尝试使用泛型。