反射判断某一个属性是否只读或者只写

.Net Framework 4.0 以下,包括4.0

            Type pPt = typeof(People);
            System.Reflection.PropertyInfo[] tPro = pPt.GetProperties(BindingFlags.Instance | BindingFlags.Public);
            foreach (var d in tPro)
            {
                //属性只读判断
                if (d.GetGetMethod() != null && d.GetSetMethod()==null)
                {
                    
                }
                //属性只写判断
                if (d.GetGetMethod() == null && d.GetSetMethod() != null)
                {

                }
            }
            Console.Read();

.Net Framework 4.5 以上,包括4.5

            Type pPt = typeof(People);
            System.Reflection.PropertyInfo[] tPro = pPt.GetProperties(BindingFlags.Instance | BindingFlags.Public);
            foreach (var d in tPro)
            {
                //属性只读判断
                if (d.GetMethod != null && d.SetMethod==null)
                {
                    Console.WriteLine(d.Name + ":只读");
                }
                //属性只写判断
                if (d.GetMethod == null && d.SetMethod != null)
                {
                    Console.WriteLine(d.Name + ":只写");
                }
            }
原文地址:https://www.cnblogs.com/cglNet/p/5138447.html