小编Ren*_*kov的帖子

如何更正表达式的替换类型?

我有两个班级:

public class DalMembershipUser
{
        public string UserName { get; set; }
        //other members
}

public class MembershipUser
{
        public string UserName { get; set; }
        //other members
}
Run Code Online (Sandbox Code Playgroud)

我有功能:

    public IEnumerable<DalMembershipUser> GetMany(Expression<Func<DalMembershipUser, bool>> predicate)
    {
      //but here i can use only Func<MembershipUser, bool>
      //so i made transformation
        query = query.Where(ExpressionTransformer<DalMembershipUser,MembershipUser>.Tranform(predicate));
}
Run Code Online (Sandbox Code Playgroud)

当前实现:

public static class ExpressionTransformer<TFrom, TTo>
    {
        public class Visitor : ExpressionVisitor
        {
            private ParameterExpression _targetParameterExpression;

            public Visitor(ParameterExpression parameter)
            {
                _targetParameterExpression = parameter;
            }

            protected override Expression VisitParameter(ParameterExpression …
Run Code Online (Sandbox Code Playgroud)

c# linq-expressions

5
推荐指数
1
解决办法
779
查看次数

标签 统计

c# ×1

linq-expressions ×1