改めて書いてみると、なんかすごいムズムズする……
using System;
using System.Collections.Generic;
using System.Text;
namespace Closure
{
class Employee
{
public bool IsManager
{
get {return true;}
}
public void doSomething()
{
}
public Office office
{
get { return new Office(); }
}
}
class Office
{
}
class Business
{
public List<Employee> managers(List<Employee> emps)
{
return emps.FindAll(
delegate(Employee e)
{
return e.IsManager;
}
);
}
public void Do(List<Employee> emps)
{
emps.ForEach(
delegate(Employee e)
{
e.doSomething();
}
);
}
public List<Office> collect(List<Employee> emps)
{
return emps.ConvertAll<Office>(
delegate(Employee e)
{
return e.office;
}
);
}
public bool allManagers(List<Employee> emps)
{
return emps.TrueForAll(
delegate(Employee e)
{
return e.IsManager;
}
);
}
public bool noManagers(List<Employee> emps)
{
return !emps.Exists(
delegate(Employee e)
{
return e.IsManager;
}
);
}
}
}
0 件のコメント:
コメントを投稿