#c_sharp
Объявить класс Dictionary можно так: var d = new Dictionary{ {1, "..."}, ... }; Как сделать так, чтобы я мог инициализировать свой класс подобным образом? List l = new List { {...} // Инициализация моего класса }
Ответы
Ответ 1
Чтобы работал такой неявный инициализатор нужно добавить инициализируемому классу метод Add с параметрами, соответствующими тому, что будет в квадратных скобках. Например, если у вас есть класс MyClass, у которого конструктор от двух строк и вы хотите легко инициализировать список таких классов, то придется завести класс для списка: class MyClassList : List{ public void Add(string s1, string s2) { Add(new MyClass(s1, s2)); } } теперь Вы получаете возможность инициализировать свой список так: List l = new MyClassList() { {"a", "b"}, {"c", "d"} };
Комментариев нет:
Отправить комментарий