前提・実現したいこと
前回の質問で、フィールドの一括取得方法をご教示いただいたのですが、
取得したフィールドに対し、アクセス修飾子やstaticかどうかを取得したいのですが、
ドキュメントを見ても、それらしきメソッドがわかりません。
該当のソースコード
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4using System.Reflection; 5 6public class Model 7{ 8 public int mId = 0; 9 public string mName = ""; 10 public string mPath = ""; 11 public int mType = 0; 12 private int i = 10; 13 static int si = 3; 14 public static int psi = 5; 15} 16 17public class Sample : MonoBehaviour 18{ 19 20 void Start() 21 { 22 Model m = new Model(); 23 m.mId = 1; 24 m.mName = "name"; 25 m.mPath = "root"; 26 m.mType = 2; 27 28 FieldInfo[] infoArray = m.GetType().GetFields(BindingFlags.Static |BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); 29 30 foreach (FieldInfo info in infoArray) 31 { 32 33 Debug.Log(info.(アクセス修飾子) + info.Name + ": " + info.GetValue(m)); 34 } 35 } 36}
試したこと
ドキュメントで、
IsPrivate、IsPublic、IsStatic等のプロパティは見つけました。
これらのプロパティで条件分岐して出力させることはできると思いますが、
これだとコードが長くなってしまうので、Get~のメソッド等でアクセス修飾子やstaticの取得等はできませんか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/08/25 12:23 編集