こう書くとpublicなstaticプロパティの値を一括取得できる。
Type type = typeof(SomeClass); foreach (PropertyInfo pi in type.GetProperties()) { Debug.Log("property : " + pi.GetValue(null, null)); }
publicなstatic変数の値を取得したい場合はこう書く
Type type = typeof(SomeClass); foreach (FieldInfo fi in type.GetFields()) { Debug.Log("field : " + fi.GetValue(null)); }
privateなものも取得したい場合はGetMembersを使うと良い
Type type = typeof(SomeClass); var members = type.GetMembers(BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic); foreach (var member in members) { if (member.MemberType == MemberTypes.Property) { var property = (PropertyInfo)member; Debug.Log("property : " + property.GetValue(null, null)); } if (member.MemberType == MemberTypes.Field) { var field = (FieldInfo)member; Debug.Log("field : " + field.GetValue(null)); } }