Как заставить дизайнера сериализовать набор объектов в WinForms?

У меня есть класс:

public class Filter
{
    public Filter (string name, string value)
    {
        Name = name;
        Value = value;
    }

    public string Name {get; private set;}
    public string Value {get; set;}
}

И класс коллекции:

public class FilterCollection : Collection<Filter>
{
   // code elided
}

Мой класс компонентов:

public class MyComponent : Component
{
    //...

    [Editor(typeof(FilterEditor), typeof(UITypeEditor))]
    [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
    public FilterCollection Filters { get; set; }

    //...
}

Проблема в том, что коллекция неправильно сериализована дизайнером .

Я уверен, что что-то упускаю, но не знаю что.

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ

Я бы хотел, чтобы файл Designer.cs содержал что-то вроде следующего:

myComponent.Filters.Add (new Filter ("some name", "some value"));
myComponent.Filters.Add (new Filter ("other name", "other value"));

Возможно ли это?

6
задан Stécy 2 May 2012 в 20:37
поделиться