表达式没有名称错误-动态c#对象

本文关键字:动态 对象 错误 有名称 表达式 | 更新日期: 2023-09-27 18:16:46

我想序列化一个对象列表,它可以是许多不同类型的,我已经在下面的函数中完成了。但是我想给每个对象一个名字。我看着使用的名称,但我得到"表达式没有名字",当我这样做-名称(LogProperties[I])。是否有任何方法来实现这一点-我在想是否有一种方法来添加一个元属性的对象,我想记录。我愿意接受其他的建议。

    public static string CreateAdditionaLog(params object[] LogProperties)
    {
        var log = new ExpandoObject() as IDictionary<string, Object>;
        for (int i = 0; i < LogProperties.Length; i++)
        {
            var prop = LogProperties[i];
            log.Add(prop.GETNAME(), prop);
        }
        return Newtonsoft.Json.JsonConvert.SerializeObject(log);
    }

表达式没有名称错误-动态c#对象

如果您正在寻找对象名称,您可以使用反射来获取对象的Type

for (int i = 0; i < LogProperties.Length; i++)
        {
            var prop = LogProperties[i];
            log.Add(prop.GetType().Name, prop);
        }