我有一个具有IEnumerable属性的类(ClassA)。然后我有另一个具有相同属性的类(ClassB)。他们正在共享一个接口(InterfaceA)。 ClassB基本上是多个ClassA的容器类。如何实现ClassB的属性。
interface InterfaceA
{
IEnumerable<int> MyInts
{
get;
}
}
class ClassA : InterfaceA
{
public IEnumerable<int> MyInts
{
get;
private set;
}
}
class ClassB : InterfaceA
{
ClassA[] classAs = new ClassA[10];
public IEnumerable<int> MyInts
{
get
{
//What goes here ?
classAs.SelectMany(classA => classA.MyInts);
}
}
}
我尝试使用LINQ select语句,但这不起作用。
编辑: 看起来我看起来不够努力。答案就在这个问题上。 How do I Aggregate multiple IEnumerables of T
编辑2: 包括适合我的示例代码,包括其他人需要的代码。
答案 0 :(得分:20)
答案 1 :(得分:3)
public IEnumerable<int> MyInts
{
get
{
foreach (ClassA c in classAs)
{
foreach (int i in c.MyInts)
{
yield return i;
}
}
}
}