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); }
/// <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); }