C#クラス内のすべての属性を取得

2892 ワード

一般的に使用される方法は、反射によって取得されます.
たとえば、次のStudioクラスがあります.
    public class Student
    {
        private string id;
        public string Id { get { return id; } set { id = value; } }

        private string name;
        public string Name { get { return name; } set { name = value; } }

        private string age;
        public string Age { get { return age; } set { age = value; } }
    }

追加する名前空間:
    using System.Reflection;

具体的な反射方法は以下の通りです.
        private PropertyInfo[] GetPropertyInfoArray()
        {
            PropertyInfo[] props = null;
            try
            {
                Type type = typeof(EricSunApp.Student);
                object obj = Activator.CreateInstance(type);
                props = type.GetProperties(BindingFlags.Public | BindingFlags.Instance);
            }
            catch (Exception ex)
            { }
            return props;
        }

その後,返された配列を遍歴した.
 
クラス内のすべてのフィールドを取得するのも同様です.
 
反射についてもっとインターネットで調べてもいいです...