コード例 #1
0
        static IEnumerable <Order> MyCast(MyEnumerable orders)
        {
            IEnumerable <Order> typedSource = orders as IEnumerable <Order>;

            if (typedSource != null)
            {
                return(typedSource);
            }

            if (orders == null)
            {
                throw new Exception("orders == null");
            }

            return(CastIterator <Order>(orders));
        }
コード例 #2
0
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
            var myEnumerable = new MyEnumerable();

            myEnumerable.Add("chen");
            myEnumerable.Add("qiang");
            myEnumerable.Add("dennis");

            foreach (var item in myEnumerable)
            {
                Console.WriteLine($"value => {(item as Order).Name}");
            }

            var asResult = MyCast(myEnumerable);

            foreach (var item in asResult)
            {
                Console.WriteLine($"value1 => {item.Name}");
            }

            Console.ReadKey();
        }