我在stackoverflow以及包括MS文档在内的其他网站上查找了这个,并尝试了我遇到的所有可能的答案,但无济于事.不确定,我做错了什么.简单的类,试图获得所有属性,包括私有属性.
该解决方案是vs2017 15.5.7,c#2017,netFramework 4.7.02中的控制台应用程序
尝试了所有绑定标志组合:
(BindingFlags.NonPublic|BindingFlags.Instance|BindingFlags.Static)
(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static |
BindingFlags.Instance | BindingFlags.DeclaredOnly)
Run Code Online (Sandbox Code Playgroud)
包括代码:
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));
}
}
Run Code Online (Sandbox Code Playgroud)
这是班级:
public class Test
{
private string _name;
public string Name
{
get => _name;
set => _name = value;
}
}
Run Code Online (Sandbox Code Playgroud) c# ×1