Работа со списками: найти ошибку в коде - 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)); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д