Редактор Visual Studio WinForms не сохраняет изменения в пользовательской коллекции [закрыто]C#

Место общения программистов C#
Ответить
Anonymous
 Редактор Visual Studio WinForms не сохраняет изменения в пользовательской коллекции [закрыто]

Сообщение Anonymous »

Я пытаюсь отредактировать свойство коллекции для пользовательского элемента управления UserControl с помощью редактора коллекций, но внесенные мной изменения не сохраняются. Коллекция представляет собой собственный класс, являющийся подклассом List. Редактор коллекций позволяет мне добавлять нужные значения, не выдает никаких ошибок и даже обновляет элемент управления в дизайнере, чтобы он выглядел так, как должен выглядеть элемент управления с новыми значениями в списке. Однако он не создает ресурс для измененного списка и не генерирует код в файле Designer для десериализации списка и установки свойства для сохраненного списка. Мой класс пользовательского списка имеет атрибут Serializable, и я также попытался добавить к свойству атрибут Editor(typeof(CollectionEditor), typeof(UITypeEditor)), но он все равно не сохраняется. Я попробовал использовать обычное свойство List и смог его сохранить.
Вот именно то, о чем я говорю. Вот редактор коллекции, и я могу добавить следующие значения:
[img]https: //i.sstatic.net/Y2fUyNx7.png[/img]

Я нажимаю «ОК». В дизайнере, если сделать это правильно, связанный элемент управления UserControl будет выглядеть следующим образом:
Изображение

Однако, когда я собираю и запускаю программу, UserControl выглядит так, как если бы список не предоставлен:
Изображение

Если после этого я посмотрю на дизайнер, он через несколько секунд обновится до указанного выше значения по умолчанию.
проблема в том, что он не сохраняет ресурс для измененного list:
Изображение

Он также не генерирует код, аналогичный notifierListLabel1.Ints = (DataClasses.NotifierList)resources.GetObject("notifierListLabel1.Ints") в файле дизайнера.
Что мне не хватает? Есть ли какие-то атрибуты, которых мне не хватает? Мне не удалось найти ничего об этом в Интернете.
Изменить: Я загрузил соответствующий код здесь:
https://drive.google.com/file/d/1e4t2Z4 ... sp=sharing
Я пытался сделать минимальный пример, но коллекция фактически сохранилась для этого. Я думал, что это означает, что мне просто нужно удалить и переделать форму с проблемой, но это не решило проблему, поэтому я предоставляю реальный код. В коде есть настраиваемый список (NotifierList), UserControl (Counter2) и форма (SaveableCountersForm). Я не могу использовать ObservableCollection, потому что при попытке сериализации он выдает ошибку из-за невозможности загрузить тип "System.Collections.ObjectModel.SimpleMonitor"
, о котором я не смог найти никакой информации. об Интернете.

Подробнее здесь: https://stackoverflow.com/questions/792 ... collection
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»