This question already has answers here:
How do I reflect over the members of dynamic object?

(4个答案)


4年前关闭。




目前,我有以下方法-
public void CreateWorkbook<T>(List<T> ItemList)
{
     PropertyInfo[] properties= typeof(T).GetProperties();
     foreach (PropertyInfo prop in properties)
     {
     }
}

我想将T替换为expando对象。但是我无法从expando对象读取属性。

有什么办法吗?

最佳答案

您可以使用以下方法获取属性:

public static void CreateWorkbook(List<ExpandoObject> ItemList)
        {
            foreach(var item in ItemList)
            {
                IDictionary<string, object> propertyValues = item;

                foreach (var property in propertyValues.Keys)
                {
                    Console.WriteLine(String.Format("{0} : {1}", property, propertyValues[property]));
                }
            }
        }

关于c# - 从C#expando对象动态读取属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41780522/

10-09 04:25