C# - 将对象转换为值列表

时间:2016-09-23 07:42:02

标签: c# angular transpose

我有一个简单的对象如下:

public partial class RepackViewIndex
{
    [DatabaseGenerated(DatabaseGeneratedOption.None)]
    public int ID { get; set; }

    public DateTime? DateRequested { get; set; }

    public string OrderNo { get; set; }

    [StringLength(30)]
    public string Customer { get; set; }

    [StringLength(30)]
    public string RepackFrom { get; set; }

    [StringLength(30)]
    public string RepackTo { get; set; }

    public int? Qty { get; set; }

    public int? ReworkTime_c { get; set; }

    [StringLength(8)]
    public string TTLTime { get; set; }

    public int? QtyCompleted { get; set; }

    public DateTime? StartDate { get; set; }

    public DateTime? PlannedCompletion { get; set; }

    [StringLength(50)]
    public string RequestedBy { get; set; }

    [StringLength(30)]
    public string EnteredBy { get; set; }

    [StringLength(1)]
    public string Status { get; set; }

    [StringLength(50)]
    public string Priority { get; set; }
}

但是,我希望将此对象显示为前端的表格。 (前端位于Angular2中)。我认为最好的方法是将对象转换为A Dictionary或类似的但是我不确定最佳方法或如何实现,所以任何帮助将不胜感激。

或者,如果有任何angular2 guru有一种使用数据的方式,因为它是在一个表中显示我都是耳朵。我正在使用PrimeNG作为我的组件。

非常感谢,

1 个答案:

答案 0 :(得分:1)

如果您只想按属性名称将值作为字典,则可以添加实例方法并使用反射:

public Dictionary<string, object> ToDictionary()
{
    var dict = new Dictionary<string, object>();
    foreach (var prop in GetType().GetProperties())
    {
        dict.Add(prop.Name, prop.GetValue(this));
    }

    return dict;
}