添加项目文件。
This commit is contained in:
34
Szmedi.Toolkit.Revit/Assists/BaseTypeConfiguration.cs
Normal file
34
Szmedi.Toolkit.Revit/Assists/BaseTypeConfiguration.cs
Normal file
@@ -0,0 +1,34 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq.Expressions;
|
||||
|
||||
namespace Szmedi.Toolkit.Assists;
|
||||
|
||||
public abstract class BaseTypeConfiguration<T>
|
||||
{
|
||||
protected IList<PropertyConfiguration> Mappings { get; set; } = new List<PropertyConfiguration>();
|
||||
|
||||
public PropertyConfiguration Map<TProperty>(Expression<Func<T, TProperty>> expression)
|
||||
{
|
||||
var memberExpression = GetMemberExpression(expression);
|
||||
|
||||
var map = new PropertyConfiguration
|
||||
{
|
||||
Member = memberExpression.Member
|
||||
};
|
||||
|
||||
Mappings.Add(map);
|
||||
|
||||
return map;
|
||||
}
|
||||
|
||||
public IList<PropertyConfiguration> GetMappings()
|
||||
{
|
||||
return Mappings;
|
||||
}
|
||||
|
||||
protected internal MemberExpression GetMemberExpression<TProperty>(Expression<Func<T, TProperty>> expression)
|
||||
{
|
||||
return expression.Body as MemberExpression ?? throw new ArgumentException("Expression Invalid.", nameof(expression));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user