Рутина потому, что нужно предусмотреть редактирование строки, определить, к какому из элементов коллекции относится строка, продумать добавление\удаление элемента. А потом все закодировать. И протестировать. Ничего интересного, короче.
С хорошим механизмом двусторонней связки поставил бы DGV.DataSource = MagicCollection, и пару методов на инициализацию\сохранение. Малина!
mayorovp: Это решает задачу, но рутина ведь :(
По комментарию из прошлой ветки: на wpf обнаружились двунаправленные связи, обязательно надо будет глянуть.
mayorovp , Глянул в сторону BindingList. Взял ListBox lb, установил lb.DataSource = _bList, lb отлично заполняется из _bList. При попытке удалить строку из lb, падает ArgumentException "Изменение коллекции элементов невозможно, если задано свойство DataSource." _bList.AllowRemove = true.
Можно ли как-то сделать, чтобы при удалении строки в lb автоматом исключался объект из _bList?
(Я исхожу из того, что DataSource работает одинаково у ListBox и DataGridView).
Увы, применить в данном случае не получится - WinForms задачка, перепрыгнуть на WPF не получится. Да и простоты, вроде, не добавится. Но все равно спасибо, в будущем погляжу на паттерн подробнее.
littleguga: А чего именно Вы хотите добиться? Чтоб вторая форма открылась, там что-то вычислялось, но при этом что-то вычислялось и на первой? Тогда только события могут и не спасти, скорее всего, вторую форму нужно запускать в отдельном потоке.
littleguga: Если это специальная форма для возвращения одного значения - несомненно. Правда, в таком случае еще стоит using добавить к созданию формы.
Если же у Вас должна крутиться какая-то логика на первой форме, в зависимости от действий на второй - тут уже смотреть надо.
У Вас скилл "программинга в общем" выше скилла по шарпу, но сама задачка простая?
Насколько я понял, WCF может восприниматься как надстройка над Remoting (при определенной конфигурации).
Низкий уровень абстракции - это сокеты? Как на них писать подобные вещи более-менее понятно, но рутина времени займет сильно много.
А какая реализация может считаться неправильной? В качестве нагрузки планирую подвесить на сервер какого-нибудь самообучающегося бота (возможно, для каждого из игроков).
Кирилл: Объем решает. Шилдт описывает лишь шарп, Троелсен же C#, ASP, WCF, WPF (если не ошибаюсь), иногда лезет в IL. Плюс, Шилдта проще читать по главам: примеры кода обычно не связаны друг с другом. У Троелсена иногда приходится смотреть в пример из предыдущей главы, чтобы осознать код текущей. Русский перевод 4 издания Шилдта нормален, Троелсена же лучше читать в оригинале. Это те причины, по которым я отнес Шилдта к разряду "для новичков".
Преимущество Троелсена: после него остается более целостная картинка языка (.NET платформы, редко нужная новичку в программировании.
С хорошим механизмом двусторонней связки поставил бы DGV.DataSource = MagicCollection, и пару методов на инициализацию\сохранение. Малина!