Пользовательский тип данных в Settings.settings как массив классов - PullRequest
5 голосов
/ 20 августа 2011

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

У меня есть этот класс

[Serializable()]
public class Product
{
public string Name { get; set; }
public int Price { get; set; }
}

в settings.setting У меня есть настройка ProductSettings , введите MyApp.Data.Product , scope Application и значение по умолчанию содержит следующее

<xml definition>
<Product xlmns:xsi=.....>
<Name>Banana</Name>
<Price>1</Price>
</Product>

. Таким образом, все работает нормально.Но теперь мне нужно получить коллекцию продуктов из файла настроек, поэтому я попытался указать тип как MyApp.Data.Product [], но этого не может быть.Во всплывающем окне дизайнера появляется сообщение « MyApp.Data.Product [] не определено. ».Как я могу это выяснить?

Спасибо

PF: этот проект - просто библиотека классов, используемая из приложения WPF - если имеет значение

1 Ответ

1 голос
/ 30 августа 2011

Использовать System.Collections.Generic.List,Или вы можете создать класс, который наследуется от List

Тогда в значении у вас будет этот формат:

<ArrayOfProduct xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd=
"http://www.w3.org/2001/XMLSchema">
  <Product>
    <Name>Banana</Name>
    <Price>1</Price>
  </Product>
</ArrayOfProduct>
...