Работа со списками: найти ошибку в коде - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день! Коллеги, нужна помощь, буду очень благодарен. Дали такое задание: 1. Какая проблема есть в коде, чем она объясняется? 2. Привести два-три возможных решения проблемы, редактируя только функцию Print
using System;
using System.Collections.Generic;
namespace Test
{
 class Program
 {
 class Type1
 {
 public int Value1 { get; set; }
 }
 class Type2 : Type1
 {
 public int Value2 { get; set; }
 }
 static void Main(string[] args)
 {
 List<Type1> list1 = new List<Type1>() { /* some elements */ };
 List<Type2> list2 = new List<Type2>() { /* some elements */ };
 Print(list1);
 Print(list2);
 Console.ReadLine();
 }
 static void Print(List<Type1> list)
 {
 list.ForEach(x => Console.WriteLine(x.Value1));
 }
 }
}

Решение задачи: «Работа со списками: найти ошибку в коде»

textual
Листинг программы
        static void Print(object list)
        {
            var prop = typeof (Type1).GetProperty("Value1", BindingFlags.Instance | BindingFlags.Public);
            foreach (object t in (IEnumerable)(list))
            {
                Console.WriteLine(prop.GetValue(t));
            }
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.286 из 5