欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-06-23 16:38:20
对象引擎,以路径形式访问对象属性,例data.Product[1].Name。 在做excel模板引擎的时候,为了能方便的调用对象属性,找了一些模板引擎,不是太大就是不太适用于excel, 因为excel模板中不太适用写一些语法,所以要简化,现把对象引擎这一块简化抽出来分享 开源地址:https:/ ......

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

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

因为excel模板中不太适用写一些语法,所以要简化,现把对象引擎这一块简化抽出来分享C# 对象引擎,以路径形式访问对象属性(data.Product[1].Name)

 

开源地址: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");