C# 循环poco类属性

C# 循环poco类属性,c#,C#,有没有办法创建一个嵌套的foreach来获取每个容器名,并使用一个inne循环来获取每个属性名+值 希望你明白,否则我会详细说明,谢谢 是的,像这样: public partial class Foo { public struct ContainerOne { public const long Sub1 = 1; public const long Sub2 = 2; } public struct ContainerTwo

有没有办法创建一个嵌套的foreach来获取每个容器名,并使用一个inne循环来获取每个属性名+值

希望你明白,否则我会详细说明,谢谢

是的,像这样:

public partial class Foo
{
    public struct ContainerOne
    {
        public const long Sub1 = 1;
        public const long Sub2 = 2;
    }

    public struct ContainerTwo
    {
        public const long Sub3 = 3;
        public const long Sub4 = 4;
    }

}

活生生的例子:

太好了,看起来正是我需要的。2个快速问题:1。如何过滤第一个循环以仅查找结构属性?2.
type.GetFields()
需要一个参数,我应该传递什么?感谢第二个问题,我意外地使用了
GetField
而不是
GetFields()
:)您可以将外部循环更改为
fooType.GetNestedTypes()。其中(t=>t.IsValueType)
仅查找结构。
var fooType = typeof(Foo);
foreach(var type in fooType.GetNestedTypes())
{
    Console.WriteLine(type.Name);
    foreach(var field in type.GetFields())
    {
        Console.WriteLine("{0} = {1}",field.Name,field.GetValue(null));
    }
}