解决方案 »

  1.   

    大概是这样的构造吧,你的内容说的有很多不明确的地方,比如FilteredIterator是否从两个接口继承,包括(1),(2)看的很糊涂,不知道在说什么        interface IIterator<T>
            {
                bool HasNext();
                T Next();
            }
            interface IFilter<T>
            {
                bool Pass(T t);
            }
            class FilteredIterator<T> where T:IIterator<T>,IFilter<T>
            {
                T _value;
                public FilteredIterator(T value)
                {
                    _value = value;
                }
            }
      

  2.   

    FilteredIterator是从1个接口继承的,IIterator至于(1)和(2),就类似迭代,如果有元素pass那个filter,HasNext就返回真;
    如果没有元素pass那个filter,系统就报错;
      

  3.   

    应该是这样? 
    public class FilteredIterator<T> : IIterator<T> where T: IFilter<T>