繁体   English   中英

使用反射动态遍历未知复杂 object

[英]Traverse through unknown complex object dynamically using reflection

我需要使用反射遍历复杂的 object。 唯一的问题是它可以是任何类型的 object。 因此,事先不知道属性名称。

最终目标是将整个事情记录到字符串中以用于记录目的。

我有以下代码。 但问题是,它没有达到儿童水平

public static string GetLogFor(object target)
{
    var builder = new StringBuilder();

    foreach (var property in @target.GetType().GetProperties())
    {

        builder
            .Append(property.Name)
            .Append(" = ")
            .Append(property.GetValue(@target, null))
            .AppendLine();
    }

    return builder.ToString();
}

参考

如果 output 适合您的日志记录需求,您可以简单地使用Json序列化:

public static string GetLogFor(object target)
{
    return Newtonsoft.Json.JsonConvert.SerializeObject(target, Formatting.Indented);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM