我有一个名为 Job 的对象,在其中我有字符串、整数和枚举作为公共对象。然后将每个作业放入一个队列中,并在此过程中遍历队列。
我想要做的是,当我 Dequeue() 每个作业时,我通常可以遍历每个作业并将公共对象名称和值写入控制台。
我想出了如何将对象名称写入控制台,并且显然可以写入值,但问题是我不知道如何从 Job 对象中获取每个公共字符串/int/enum。
我看过 C# object dumper C#: How to get all public (get and set) string properties of a type How to select all values of an object's property on a list of typed objects in .Net with C# but don't不明白我将如何在那里使用任何一个接受的答案。
这是我的 Job 类的代码:
class Job
{
#region Constructor
public Job()
{
}
#endregion
#region Accessors
public int var_job { get; set; }
public jobType var_jobtype { get; set; } //this is an enum
public string var_jobname { get; set; }
public string var_content { get; set; }
public string var_contenticon { get; set; }
#endregion
}
这是返回变量名称的代码:(来自https://stackoverflow.com/a/2664690/559988)
GetName(new {Job.var_content}) //how I call it
static string GetName<T>(T item) where T : class
{
return typeof(T).GetProperties()[0].Name;
}
理想情况下,我会有这样的控制台输出:
Queuing Jobs Now
--------------------
var_job = its value
var_jobtype = its value
var_jobname = its value
var_content = its value
var_contenticon = its value
想法?