创建表达式时出错

时间:2011-10-18 22:03:29

标签: c# .net linq

我有这段代码:

public class InputMapper : BaseMapper<Input, InputDTO>
{
    private Guid _CompanyId;
    public InputMapper(Guid companyId)
    {
        _CompanyId=companyId;
    }

    public override Expression<Func<InputDTO, Input>> ToDomain()
    {
        return x=> new Input()
        {
            CompanyId => this._CompanyId, <--- HERE I GET AN ERROR
            Id = x.Id,
            Name = x.Name,
            Deduction = x.Deduction
        };
    } 
}

为什么我在标记的行上出错:

Invalid initializer member declarator

有解决方法吗?

2 个答案:

答案 0 :(得分:3)

您使用了lambda表达式,我怀疑您只想初始化一个属性:

 CompanyId => this._CompanyId,

应该是

 CompanyId = this._CompanyId,

(另请注意Brandon的评论 - 构造函数中的赋值是错误的。)

答案 1 :(得分:1)

我认为应该只是

return x=> new Input()
{ CompanyID = this._CompanyID, ....

您不希望将lambda分配给返回对象的CompanyID成员。