1

好的,所以我想要一个通用方法,它可以从给定剃刀类型属性指针的未知数据类中读取数据。

IE 我希望能够传入一个包含模板和对象的字符串,然后从模板中给定字符串的对象中提取数据。

String template = "@Model.Basket";
var results = parse(template, data);

parse 方法不应该知道传递给它的特定模型,所以它的方法签名应该是这样的:

public var parse(String template, object model)

数据类似于

public class Receipt
{
    public String Firstname { get; set; }
    public String Surname { get; set; }
    public DateTime TransactionDateTime { get; set; }
    public Boolean ReturnCustomer { get; set; }
    public LineItem[] Basket { get; set; }


    public class LineItem
    {
        public Product product { get; set; }
        public int Units { get; set; }

        public class Product
        {
            public int ProductId { get; set; }
            public String ProductName { get; set; }
            public double Cost { get; set; }
        }
    }
}

在这种情况下,解析应该返回一个行项目数组,但如果我的模板等于“@Model.Firstname”,它应该只返回一个包含存储在该属性中的名称的字符串。

有没有人有什么好主意。

请注意,对于这个给定的解决方案,我不能使用 Razor 引擎,因为我的模板不是 razor 引擎可以理解的格式。

4

1 回答 1

0

如果您想这样做,您需要查看System.Reflection命名空间——特别是 PropertyInfo。不过,我不确定这个好主意。

于 2012-06-19T09:12:36.023 回答