【发布时间】:2016-03-21 12:05:11
【问题描述】:
我有一个小控制台程序,可以打印出给定类的属性。
它有效,但我想知道是否有一种方法可以做到这一点而不必实例化新类。
我问是因为我想获取项目中每个类的类名和所有类属性。
如果我可以在不必实例化每个类的情况下做到这一点,那真的会减少编程。
namespace ObjectViewer
{
class PropertyLister
{
static void Main(string[] args)
{
Programmer programmer = new Programmer() { Id = 123, Name = "Joe", Job = "Programmer" };
printProperties(programmer);
Console.ReadLine();
}
public static void printProperties(Object jsonObject)
{
JObject json = JObject.FromObject(jsonObject);
Console.WriteLine("Classname: {0}\n", jsonObject.ToString());
Console.WriteLine("{0,-20} {1,5}\n", "Name", "Value");
foreach (JProperty property in json.Properties()) {
Console.WriteLine("{0,-20} {1,5:N1}", property.Name, property.Value);
}
}
}
}
【问题讨论】:
-
如果你不需要值,你试过
Type.GetProperties()吗?
标签: c# c#-4.0 json.net .net-4.5