1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license information.
using System;
using System.Collections.Generic;
using System.Linq;
namespace Microsoft.Web.UnitTestUtil
{
public static class AnonymousObject
{
public static string Inspect(object obj)
{
if (obj == null)
{
return "(null)";
}
object[] args = Enumerable.Empty<Object>().ToArray();
IEnumerable<string> values = obj.GetType()
.GetProperties()
.Select(prop => String.Format("{0}: {1}", prop.Name, prop.GetValue(obj, args)));
if (!values.Any())
{
return "(no properties)";
}
return "{ " + values.Aggregate((left, right) => left + ", " + right) + " }";
}
}
}
|