<分区>
我在 stackoverflow 以及其他网站(包括 MS 文档)上查找了这个,并尝试了我遇到的所有可能的答案,但无济于事。不确定,我做错了什么。简单类,试图获取所有属性,包括私有(private)属性。
解决方案是 vs2017 15.5.7、c# 2017、netFramework 4.7.02 中的控制台应用
尝试了所有的绑定(bind)标志组合:
(BindingFlags.NonPublic|BindingFlags.Instance|BindingFlags.Static)
(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static |
BindingFlags.Instance | BindingFlags.DeclaredOnly)
包括代码:
var listnew = new List<Test>
{
new Test {Name = "Test"}
};
foreach (var item in listnew)
{
var test = item.GetType().GetProperties(BindingFlags.NonPublic|BindingFlags.Instance|BindingFlags.Static);
foreach (var prop in test)
{
System.Console.WriteLine(prop);
System.Console.WriteLine(prop.GetValue(item));
}
}
这是类:
public class Test
{
private string _name;
public string Name
{
get => _name;
set => _name = value;
}
}