【发布时间】:2017-06-16 11:24:02
【问题描述】:
我有一个 Employee 类,有一些基本参数,还有一个类 employees,有一个员工对象列表。我想在员工类中使用 func 委托,以便能够在主类中使用以下 lambda 表达式。我想我这里有一些语法错误...我收到以下错误消息:“无法将 lambda 表达式转换为类型 'Employee',因为它不是委托类型”。
有人知道我做错了什么吗?
非常感谢大家!!
static void Main(string[] args)
{
Employees lijst = new Employees();
lijst.Add(new Employee("B1", 200));
lijst.Add(new Employee("B2", 100));
lijst.Add(new Employee("B3", 300));
lijst.Wijzig((Employee b) => b.Salary += 100);
Console.ReadKey();
}
class Employee
{
public String Name { get; set; }
public int Salary { get; set; }
public Employee(String Name, int Salary)
{
this.Name = Name;
this.Salary = Salary;
}
}
class Employees
{
public Func<Employee, int> Wijzig = new Func<Employee, int>(Change);
private ArrayList _lijst = new ArrayList();
public void Add(Employee e)
{
_lijst.Add(e);
}
static int Change(Employee b)
{
return 0;
}
}
【问题讨论】:
-
确实是的,但是如果我把Wijzig改成Change,问题还是一样...
-
你的
Wizjig应该怎么做呢?它的目的是什么?