Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是否可以从另一个委托.net调用委托_C#_Delegates_Func - Fatal编程技术网

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这就是问题所在:)