我有一个func,它接受一个T类参数并返回一个值。
我想将它存储在字典中,如下:
Dictionary<CustomerMilestones, Func<string, string>> coll = new Dictionary<CustomerMilestones, Func<string, string>>();
string Indicator = coll[CustomerMilestones.Ordered100Products].Invoke(customerId.ToString());
coll.Add(CustomerMilestones.Ordered100Products, Execute(Indicator);
Execute是一个接受字符串但也返回字符串的方法。在最后一行,错误如下:
参数类型字符串不能分配给参数类型Func。
我做错了什么?
答案 0 :(得分:5)
您不应该调用执行 - 您只需要将其作为方法组提供:
coll.Add(CustomerMilestones.Ordered100Products, Execute);
答案 1 :(得分:2)
如果我理解正确,你应该传入Execute方法,而不是执行调用的结果。
coll.Add(CustomerMilestones.Ordered100Products,Execute);