[TestMethod]
public void TestMethod()
{
TestClass test = new TestClass();
PropertyInfo[] pro = test.GetType().GetProperties();
FieldInfo[] fil = test.GetType().GetFields();
MemberInfo[] men = test.GetType().GetMembers();
foreach (var item in pro)//仅能获取到b属性(输出b/2)
{
Debug.WriteLine("PropertyInfo:" + item.GetValue(test) + "/" + item.Name );
}
foreach (FieldInfo item in fil)//仅能获取到c字段(输出c/3)
{
Debug.WriteLine("FieldInfo:" + item.GetValue(test) + "/" + item.Name );
}
foreach (MemberInfo item in fil)//仅能获取到c字段(输出c)
{
Debug.WriteLine("MemberInfo:"+ item.Name );
}
}
public class TestClass
{
private int a = 1;//私有一律获取不到
public int b { get; set; } = 2;
public int c = 3;
}
【C#】PropertyInfo、FieldInfo、MemberInfo的区别
最新推荐文章于 2024-08-20 23:37:38 发布