xiacy

导航

5.3.2 委托返回类型的协变性

        delegate Stream StreamFactory();

        static MemoryStream GenerateSampleData()
        {
            byte[] buffer = new byte[16];
            for (int i = 0; i < buffer.Length; i++)
            {
                buffer[i] = (byte)i;
            }
            return new MemoryStream(buffer);
        }

        static void Main(string[] args)
        {
            StreamFactory factory = GenerateSampleData;
            using (Stream stream = factory())
            {
                int data;
                while ((data = stream.ReadByte()) != -1)
                    Console.WriteLine(data);
            }
        }

 

posted on 2012-05-01 22:13  xiacy  阅读(151)  评论(0编辑  收藏  举报