小编use*_*874的帖子

使用反射返回所有对象属性(包括私有)

我在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
推荐指数
1
解决办法
59
查看次数

标签 统计

c# ×1