私はこれについて多くの同様のトピックを見つけましたが、私の質問に直接答えるものではありません。いろいろなタイプの部屋を配置するゲームを作っています。部屋のクラスがあり、次にこれを継承するいくつかの部屋があります。たとえば、寝室、食堂などです。
各部屋には、その属性を設定するための特定の静的パラメーターがあります。例えば:
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が寝室タイプの場合は4を返します)を取得するにはどうすればよいですか?それとも、これについてもっと良い方法がありますか?
クラスT(T:Room)を初期化するつもりはなかったので、メンバーは静的であり、ジェネリックを使用しようとしています。