好的,所以我想要一个通用方法,它可以从给定剃刀类型属性指针的未知数据类中读取数据。
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 引擎可以理解的格式。