gpt4 book ai didi

c# - 如何在 C# 中找到对象的所有公共(public)字段?

转载 作者:可可西里 更新时间:2023-11-01 07:49:48 24 4
gpt4 key购买 nike

我正在构造一个方法来接收 ArrayList(可能充满对象),然后列出 ArrayList 中每个对象的所有字段(及其值)。

目前我的代码如下:

public static void ListArrayListMembers(ArrayList list)
{
foreach (Object obj in list)
{
Type type = obj.GetType();
string field = type.GetFields().ToString();
Console.WriteLine(field);

}
}

当然,我理解这段代码的直接问题:如果它有效,它只会为 ArrayList 中的每个对象打印一个字段。我稍后会解决这个问题 - 现在我只是好奇如何获取与对象关联的所有公共(public)字段。

最佳答案

foreach (Object obj in list) {
Type type = obj.GetType();

foreach (var f in type.GetFields().Where(f => f.IsPublic)) {
Console.WriteLine(
String.Format("Name: {0} Value: {1}", f.Name, f.GetValue(obj));
}
}

请注意,此代码需要 .NET 3.5 才能工作;-)

关于c# - 如何在 C# 中找到对象的所有公共(public)字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/237275/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com