Witam tworzę aplikację która na podstawie bazy mssql rysuje formatkę. Mam listę private List<Component> componentList; w klasię nadrzędnej zawartość klasy Component wygląda z grubsza tak:
class Component : IDisposable
{
private TypeComponents enumComponent;
private int idComponent;
private int idComponentParent = 0;
private int idPosition;
private int baseTypeComponent;
private Object windowsComponent;
private List<PropertiesComponent> propertiesList;
public TypeComponents EnumComponent { get { return enumComponent; } set { enumComponent = value; } }
public int IdComponent { get { return idComponent; } set { idComponent = value; } }
public int IdComponentParent { get { return idComponentParent; } set { idComponentParent = value; } }
public int IdPosition { get { return idPosition; } set { idPosition = value; } }
public int MyProperty { get; set; }
public Object WindowsComponent { get { return windowsComponent; } set { windowsComponent = value; } }
public List<PropertiesComponent> PropertiesList { get { return propertiesList; } set { propertiesList = value; } }
}
Pole widnowsComponent ma przechowywać kontrolki microsoftowe oraz devexpresowe.
Następnie dodaję kontrolki w ten sposób:
windowsComponent = new Button()
oraz odwołuję się do nich w klasie wyżej w następujący spsób:
if( componentList.elementAt(0).windowsComponent is Component)
{
Component tmp = componentList.elementAt(0).windowsComponent as Component
if( componentList.elementAt(1).windowsComponent is Component)
{
Component tmp2 = componentList.elementAt(1).windowsComponent as Component
tmp.controls.add(tmp2) < -- tutaj dostaję błąd że kolekcja jest tylko do odczytu
}
}
Sorki za trochę nieczytelny kod ale nie chciałem wrzucać całego kodu bo trochę go jest. Ma ktoś może pomysł z czym to może być związane? Z góry dziękuje za wszelką pomoc.