使用反射动态遍历未知的复杂对象
Traverse through unknown complex object dynamically using reflection
我需要使用反射遍历复杂对象。唯一的问题是它可以是任何类型的对象。正因为如此,属性 个名字之前是未知的。
最终目标是将整个事情记录到字符串中以供记录。
我有以下代码。但问题是,它没有达到儿童级别
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();
}
Ref
如果输出满足您的日志记录需求,您可以简单地使用 Json
序列化:
public static string GetLogFor(object target)
{
return Newtonsoft.Json.JsonConvert.SerializeObject(target, Formatting.Indented);
}
我需要使用反射遍历复杂对象。唯一的问题是它可以是任何类型的对象。正因为如此,属性 个名字之前是未知的。
最终目标是将整个事情记录到字符串中以供记录。
我有以下代码。但问题是,它没有达到儿童级别
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();
}
Ref
如果输出满足您的日志记录需求,您可以简单地使用 Json
序列化:
public static string GetLogFor(object target)
{
return Newtonsoft.Json.JsonConvert.SerializeObject(target, Formatting.Indented);
}