有很多类似这个问题的主题,但是其中一些只适用于字段,另一些则适用于属性。我需要一个代码片段来检索类的属性和字段的值、类型和名称。下面的代码仅适用于属性,而不适用于字段。我需要同时获取两者。
@编辑; 如果可能的话,不使用循环可以检索属性和字段的总数。
@编辑2; 我认为可以使用.Count
属性实现。
我尝试过的:
foreach (PropertyDescriptor descriptor in TypeDescriptor.GetProperties(item))
{
string name = descriptor.Name; // Name
object value = descriptor.GetValue(item); // Value
var type = descriptor.PropertyType; // Type
Console.WriteLine($"{name}={value}={type}");
}
它对于示例类的输出如下:
humidity=abcd=System.String
temperature=123,12=System.Double
pressure=99=System.Int32
示例类,
class ExampClass
{
public string testFieldJustField = "so";
public string humidity { get; private set; }
public double temperature { get; private set; }
public int pressure { get; private set; }
public ExampClass(string h, double t, int p)
{
humidity = h;
temperature = t;
pressure = p;
}
}
System.Reflection.RtFieldInfo
等属性。 - Soner from The Ottoman Empire