Пример #1
0
        public void SetTest()
        {
            var model = new Model {
                name = "laojiu"
            };
            var setter = Lambda.CreateSetAction <object, object>(model.GetType().GetProperty("name"));

            setter.Invoke(model, "ee");
            Assert.True("ee" == model.name);
        }
Пример #2
0
            /// <summary>
            /// 模型字段描述
            /// </summary>
            /// <param name="property"></param>
            private PropertyDescriptor(PropertyInfo property)
            {
                var xlsColumn = property.GetCustomAttribute <XlsColumnAttribute>();

                if (xlsColumn == null)
                {
                    this.Name         = property.Name;
                    this.Ignore       = false;
                    this.ColumnParser = new XlsColumnParser();
                }
                else
                {
                    this.Name         = xlsColumn.Name ?? property.Name;
                    this.Ignore       = xlsColumn.Ignore;
                    this.ColumnParser = Activator.CreateInstance(xlsColumn.ParserType) as XlsColumnParser;
                }

                this.PropertyType = property.PropertyType;
                this.setter       = Lambda.CreateSetAction <object, object>(property);
            }