2009-05-11 5 views

답변

2
User john; 
List<User> managers = fred.Managers(); //get managers of this user 

Office london; 
List<User> managers = london.Managers(); //get managers of this office 

, 그것은 당신이 인스턴스를 가지고있는 클래스의 방법을 만들 getUsers 메소드를 호출하기위한 인스턴스.

1

나는 개인적으로 처음처럼. 사용자는 컬렉션이 아닌 개체입니다. 사무실은 관리자가 포함 된 사무실입니다.

아마도 UserList 클래스를 만들 수도 있습니다.

public class UserList : List<User> 
{} 

class User 
{ 
    public int id {get; set;} 
    public bool IsManager { get; set;} 
} 

class Office { 
    private UserList _users; 
    UserList Managers 
    { 
     get { return (UserList) _users.FindAll(x => x.IsManager);} 
    } 
} 
3

User하지 않기 때문에 첫 번째 솔루션은 더 나은 하나입니다/방법 Office 작동 방식 관리자의 목록을 얻으려면 알고 있어야합니다. 다음은 사용자가 필요할 것 때문에, getUsers에게 사용자 클래스의 비 정적 방법을 만드는 어떤 점 : 그것은 정적 메서드가 아니라면

2

다른 답변과 마찬가지로 나는 첫 번째 해결 방법을 선호합니다. 결국, 사용자는 컬렉션과 어떤 관계를 가지고 검색합니까? 클라이언트가 먼저 검색 할 사용자를 확보하려면 어떻게해야합니까?