我有一个类(ClassA的),其具有的IEnumerable属性。然后我有另一个类(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语句,但不起作用。

编辑: 貌似我没有看够硬。答案就在这里在这个问题上。 我怎样骨料Ť的多个IEnumerables

编辑2: 包括为我工作的示例代码,柜面任何人都需要它。

有帮助吗?

解决方案

刚刚加入我的答案,所以这不会置之不理。

classAs.SelectMany(CLASSA => classA.MyInts);

这个问题

其他提示

        public IEnumerable<int> MyInts
        {
            get
            {
                foreach (ClassA c in classAs)
                {
                    foreach (int i in c.MyInts)
                    {
                        yield return i;
                    }
                }
            }

        }
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top