C# 对象引擎,以路径形式访问对象属性(data.Product[1].Name)

对象引擎,以路径形式访问对象属性,例data.Product[1].Name。

在做excel模板引擎的时候,为了能方便的调用对象属性,找了一些模板引擎,不是太大就是不太适用于excel,

因为excel模板中不太适用写一些语法,所以要简化,现把对象引擎这一块简化抽出来分享

 

开源地址:https://github.com/guandy/ObjectEngine

用例:

 Product product = new Product() { Url = "http://www.baidu.com", CreateTime = DateTime.Now };
            List<Product> productList = new List<Product>();
            for (int i = 0; i < 15100; i++)
            {
                Product p = new Product();
                p.Name = $"产品{i}";
                p.Url = $"http://www.baidu.com{i}";
                p.Remark = $"备注{i}";
                p.Index = i + 1;
                p.Price = i + 3.5m;
                p.CreateTime = DateTime.Now;
                productList.Add(p);
            }

            User user = new User() { Name = "张三", Age = 18, Product = productList, ProductSigle = product };
            ObjectEngine ObjectEngine = new ObjectEngine();
            ObjectEngine.SetData(user);
            var value = ObjectEngine.GetValue("data.Name");

            var value1 = ObjectEngine.GetValue("data.ProductSigle.Url");

            var value2 = ObjectEngine.GetValue("data.Product[1].Name");

 

posted @ 2018-12-27 16:02  古生  阅读(655)  评论(0编辑  收藏  举报