Я не думаю, что вы можете использовать общие списки в sharepoint. Вместо этого используйте ArrayList или настроенную коллекцию List (используйте asp: ListItem в качестве экзамена, у нее есть собственный тип коллекции)
[ParseChildren(true, "Names")]
public class MyControl : Control {
private List<PersonName> names;
public MyControl() {
names = new List<PersonName>();
}
[PersistenceMode(PersistenceMode.InnerDefaultProperty)]
public List<PersonName> Names {
get { return this.names; }
}
}
public class PersonName {
public string Name { get; set; }
}
UPDATE
Ага, теперь я вижу проблему, дело не в общем списке, а в том, как вы выполняете инициализацию.
- Создать приватную переменную для хранения списка
private List<PersonName> names;
- Убедитесь, что у свойства нет установщика