✅ Перевірена відповідь на це питання доступна нижче. Наші рішення, перевірені спільнотою, допомагають краще зрозуміти матеріал.
public static Func
Cloner()
{
var p = Expression.Parameter(typeof(T));
var n = Expression.MemberInit(Expression.New(typeof(T)),
typeof(T).GetProperties().Select(pi =>
Expression.Bind(pi, Expression.Property(p, pi))));
return Expression.Lambda
>(n, p).Compile();
}
Що головне у цьому підході?