C# 是否可以从另一个委托.net调用委托
嗨,我需要你的帮助。 我有以下代码:C# 是否可以从另一个委托.net调用委托,c#,delegates,func,C#,Delegates,Func,嗨,我需要你的帮助。 我有以下代码: public class CompensationProvider { private Func<List<Result_CompensationPolicy>, int> _EmployeeIdCount = (a => a.Where(t => !string.IsNullOrEmpty(t.EmployeeId)) .Select(x => x.EmployeeI
public class CompensationProvider
{
private Func<List<Result_CompensationPolicy>, int> _EmployeeIdCount = (a =>
a.Where(t => !string.IsNullOrEmpty(t.EmployeeId))
.Select(x => x.EmployeeId)
.Distinct()
.Count());
private Func<List<Result_CompensationPolicy>, string, IEnumerable<HandlerCompanyCompensationSummery>> _GroupCompensationBalanceByHandler = ((compensationPolicy, managmentCompanyId) =>
(from p in compensationPolicy
where string.Compare(p.AccountIdentificationNumber, managmentCompanyId, true) == 0
group p by p.HandlerIdentificationNumber into g
select new HandlerCompanyCompensationSummery
{
AnsweringStatus = g.FirstOrDefault().AnswerStatus == (int)EventsAnsweringStatus.CompanySentFeedbackB ? g.FirstOrDefault().ErrorDescription : GetStstusText(g.FirstOrDefault().AnswerStatus),
AnsweringStatusId = (EventsAnsweringStatus)g.FirstOrDefault().AnswerStatus,
HandlerCompanyName = g.FirstOrDefault(m => !string.IsNullOrEmpty(m.ManufacturerName)).ManufacturerName,
HandlerCompanyId = g.FirstOrDefault(m => !string.IsNullOrEmpty(m.HandlerIdentificationNumber)).HandlerIdentificationNumber,
AllCompanyProducts = g.Where(p => p.AnswerStatus == (int)EventsAnsweringStatus.CompanySentInfo).Select(x => x.ProductType).Distinct(),
EmployeesIdCount = _EmployeeIdCount(g.ToList()),
PoliciesCount = _PoliciesCount(g.ToList()),
CompensationSum = _CompensationSum(g.ToList())
})
);
}
公共类补偿提供者
{
私有函数\u EmployeeIdCount=(a=>
a、 其中(t=>!string.IsNullOrEmpty(t.EmployeeId))
.Select(x=>x.EmployeeId)
.Distinct()
.Count());
private Func\u GroupCompensationBalanceByHandler=((补偿策略,管理公司ID)=>
(来自补偿政策中的p)
其中string.Compare(p.AccountIdentificationNumber,ManagementCompanyId,true)=0
按p.HandlerIdentificationNumber将p分组为g
选择新手柄公司补偿汇总
{
AnsweringStatus=g.FirstOrDefault().AnswerStatus==(int)事件AnsweringStatus.CompanyEntFeedbackb?g.FirstOrDefault().ErrorDescription:GetStStustText(g.FirstOrDefault().AnswerStatus),
AnsweringStatusId=(EventsAnsweringStatus)g.FirstOrDefault().AnswerStatus,
HandlerCompanyName=g.FirstOrDefault(m=>!string.IsNullOrEmpty(m.ManufacturerName)).ManufacturerName,
HandlerCompanyId=g.FirstOrDefault(m=>!string.IsNullOrEmpty(m.HandlerIdentificationNumber)).HandlerIdentificationNumber,
AllCompanyProducts=g.Where(p=>p.AnswerStatus==(int)EventsAnsweringStatus.CompanySentInfo)。选择(x=>x.ProductType).Distinct(),
EmployeesIdCount=\u EmployeeIdCount(g.ToList()),
PoliciesCount=\u PoliciesCount(g.ToList()),
CompensationSum=_CompensationSum(g.ToList())
})
);
}
和in-line EmployeesIdCount=_EmployeeIdCount(g.ToList())
我得到这个错误:
非静态字段方法或属性需要对象引用
为什么??我必须使它静止还是有其他解决方案
在advanced中谢谢你,如果需要使用另一个字段的初始值设定项的值(这里就是这样),你需要从构造函数中初始化该字段。声明该值时无法初始化该值。10x这就是问题所在:)