2011-10-06 123 views
3

我有几个接口,IOrganisations和IPeople。C#接口返回类型

如果我想返回与组织关联的人员列表,我可以在哪个界面中创建该列表?

的结果是基于一个组织,但我回国的

+0

这个问题很含糊,但从我理解的是:如何字典?像Dictionary >。 – dowhilefor

回答

6

名单做它IOrganisation(并有IPeople作为返回类型)。

事情是这样的:

interface IOrganisation { 
    IList<IPeople> GetPeople(); 
} 

这是因为组织的人是不以人的组织的性质。

+0

谢谢,正是我需要知道的。 – Paul

6

听起来好像应该在IOrganization - 毕竟这就是你要求的。你是组织,你希望的人的名单 - 你不能开始 fromt的人的名单,所以它必须IOrganization接口的一部分。

我觉得很奇怪有接口名称入手 - 我期望IOrganization单个组织,IPerson单身人士。

public interface IOrganization { 
    IList<IPerson> GetPeople(); 
} 
+0

,除非你为一个集合创建一个接口.. – hcb

+1

@hcb然后它可能会被命名为IOrganizationList或IOrganizationCollection,而不是IOrganizations。 – luiscubal

0

哪属于哪个?

在我看来,iOrganisation.People将是属于该组织的人员列表(代表人员或单个人的名单?)。同样,你可能有一个IPeople.Organisations列出一个人属于的所有组织。两者都可能有不同的底层机制 - 可能调用相同的查找表 - 与调用代码的人无关。

1

首先,你应该不应该有复数的接口名称。所以给他们打电话IOrganization和IPerson,然后你IOrganisation界面上你可能有所谓的方法:

IEnumerable<IPerson> GetPeople() 
0

如果你认为一个组织的含有人的集合,那么它直观的把在IOrganization。它看起来像这样:

interface IOrganization 
{ 
    IList<IPeople> Members { get; } 
}