Как упростить код с использованием интерфейса? - C#
Формулировка задачи:
Подскажите, можно ли упростить приведенный код?
Интерфейс нужный, а сам класс можно менять.
Спасибо.
/// <summary> /// нужный нам интерфейс /// </summary> interface ITest { public Object A; public Object B; public Object C; } /// <summary> /// класс, реализующий интерфейс. /// Но! Класс по сути является всего-навсего контейнером переданных в него объектов. /// Он ничего не делает! /// </summary> class Test : ITest { public Object A { get; set; } public Object B { get; set; } public Object C { get; set; } public Test(Object a, Object b, Object c) { A = a; B = b; C = c; } }
Решение задачи: «Как упростить код с использованием интерфейса?»
textual
Листинг программы
public class Player { // ходы игрока List<Move> playersMoves; // последовательно все ходы игрока Action FirstMove; Action SecondMove; Action ThirdMove; public Player(List<Move> PlayerMoves,Action firstMove,Action secondMove,Action thirdMove) { FirstMove=firstMove; SecondMove =secondMove; ThirdMove=thirdMove; playersMoves = PlayerMoves; } } public class Base { List<Move> history; public Player[] GetState() { Player[] res = new Player[5]; for(int i=0;i<5; i++) { Player p = res[i]; p = new Player( history.Where(m => m.who == p).ToList(), history.FirstOrDefault(m => m.who == p && m.when == Time.First).what, history.FirstOrDefault(m => m.who == p && m.when == Time.Second).what, history.FirstOrDefault(m => m.who == p && m.when == Time.Third).what ); } return res; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д