using System; using System.Collections.Generic; using System.Linq.Expressions; namespace Szmedi.Toolkit.Assists; public abstract class BaseTypeConfiguration { protected IList Mappings { get; set; } = new List(); public PropertyConfiguration Map(Expression> expression) { var memberExpression = GetMemberExpression(expression); var map = new PropertyConfiguration { Member = memberExpression.Member }; Mappings.Add(map); return map; } public IList GetMappings() { return Mappings; } protected internal MemberExpression GetMemberExpression(Expression> expression) { return expression.Body as MemberExpression ?? throw new ArgumentException("Expression Invalid.", nameof(expression)); } }