1

我有一个 ViewModel,它具有许多不同的属性(即字符串、int 等),我需要在控制器中迭代这些属性。做这个的最好方式是什么?这是 ViewModel 的定义:

public class BankListViewModel
{
    public int ID { get; set; }
    public string BankName { get; set; }
    public string EPURL { get; set; }
    public string AssociatedTPMBD { get; set; }
    public string Tier { get; set; }
    public List<BankListAgentId> BankListAgentId { get; set; }
    public List<BankListStateCode> BankListStateCode { get; set; }
}

但是,我需要省略这两个列表。有任何想法吗?

编辑

此过程的目的是将视图模型的特定项传递到三个单独的对象中。创建视图模型是为了结合三个单独的 SQL 表/模型的属性。我现在正在尝试将它们适当地划分并将信息添加到相关表格中。现在我只是像这样一一进行:

        BankListMaster banklistmaster = new BankListMaster();
        banklistmaster.AssociatedTPMBD = viewmodel.AssociatedTPMBD;
        banklistmaster.BankName = viewmodel.BankName;
4

1 回答 1

4

虽然不清楚为什么需要迭代属性而不是仅仅读取它们的值,但您可以使用反射来完成此操作

var model = new BankListViewModel();
PropertyInfo[] properties = model.GetType().GetProperties();
foreach (var property in properties)
{
    if (property.GetType() != typeof(List<BankListAgentId>))
            {
                //do your thing here
            }

}
于 2013-03-20T16:25:40.423 回答