Можно ли смешивать инициализатор объекта и инициализатор коллекции?

Я определяю инициализатор коллекции с IEnumerable, как указано здесь: http://msdn.microsoft.com/en-us/library/bb384062.aspx

Теперь я могу создавать объекты в инициализаторе коллекции и они добавляются с помощью моего метода Add() следующим образом:

class ArrangedPanel : RectElement
{
    private List arrangedChildren = new List();
    public int Padding = 2;

    public void Add(RectElement element)
    {
        arrangedChildren.Add(element);
        //do custom stuff here
    }

    public IEnumerator GetEnumerator()
    {
        return arrangedChildren.GetEnumerator();
    }
}

// Somewhere
debugPanel.Add(new ArrangedPanel() 
{ 
    new ButtonToggle(),
    new ButtonToggle()
});

Однако, если я пытаюсь установить свойство, например, мое поле "Padding", я получаю ошибку на инициализаторах коллекции.

debugPanel.Add(new ArrangedPanel() 
{ 
    Padding = 5,
    new ButtonToggle(),
    new ButtonToggle()
});

Возможно ли установить как инициализаторы коллекции, так и инициализаторы объекта?

14
задан dtb 4 October 2011 в 11:27
поделиться