一尘不染

从未知对象获取属性和值

c#

从PHP的世界来看,我决定尝试C#。我进行了搜索,但似乎找不到与之等效的答案。

$object = new Object();

$vars = get_class_vars(get_class($object));

foreach($vars as $var)
{
    doSomething($object->$var);
}

我基本上有一个对象的列表。该对象可以是三种不同类型中的一种,并将具有一组公共属性。我希望能够获得对象的属性列表,将其循环,然后将其写到文件中。我认为这与c#反射有关,但这对我来说是新的。

任何帮助将不胜感激。


阅读 269

收藏
2020-05-19

共1个答案

一尘不染

应该这样做:

Type myType = myObject.GetType();
IList<PropertyInfo> props = new List<PropertyInfo>(myType.GetProperties());

foreach (PropertyInfo prop in props)
{
    object propValue = prop.GetValue(myObject, null);

    // Do something with propValue
}
2020-05-19