Ejemplo n.º 1
0
        public static Stream SearchWrappedStream(Stream stream, OssFunc <Stream, bool> condition)
        {
            WrapperStream wrapperStream = stream as WrapperStream;

            if (wrapperStream == null)
            {
                return(condition(stream) ? stream : null);
            }
            return(wrapperStream.SearchWrappedStream(condition));
        }
Ejemplo n.º 2
0
        public Stream SearchWrappedStream(OssFunc <Stream, bool> condition)
        {
            Stream baseStream = this;

            do
            {
                if (condition(baseStream))
                {
                    return(baseStream);
                }

                if (!(baseStream is WrapperStream))
                {
                    return(null);
                }

                baseStream = (baseStream as WrapperStream).BaseStream;
            } while (baseStream != null);

            return(baseStream);
        }