C# 创建表达式时出错
我有以下代码:C# 创建表达式时出错,c#,.net,linq,C#,.net,Linq,我有以下代码: public class InputMapper : BaseMapper<Input, InputDTO> { private Guid _CompanyId; public InputMapper(Guid companyId) { _CompanyId=companyId; } public override Expression<Func<InputDTO, Input>> To
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
};
}
}
?
有什么解决方法吗?您使用了lambda表达式,我怀疑您只是想初始化一个属性:
CompanyId => this._CompanyId,
应该是
CompanyId = this._CompanyId,
(还要注意Brandon的评论-构造函数中的赋值是错误的。)您使用了lambda表达式,我怀疑您只是想初始化一个属性:
CompanyId => this._CompanyId,
应该是
CompanyId = this._CompanyId,
(还要注意Brandon的评论-构造函数中的赋值是错误的。)我认为应该是这样的
return x=> new Input()
{ CompanyID = this._CompanyID, ....
您不希望将lambda分配给返回对象的CompanyID成员。我认为应该这样做
return x=> new Input()
{ CompanyID = this._CompanyID, ....
您不希望将lambda分配给返回对象的CompanyID成员。请注意,您的构造函数分配是向后的。你想给_CompanyId分配CompanyId的值,是吗?@Brandon:你当然是对的。旁注,你的构造函数赋值是反向的。你想给_CompanyId分配CompanyId的值,是吗?@Brandon:你当然是对的。