Je pensais que je serais en mesure d'accéder à une liste protégée dans une classe parente, d'une classe d'enfants, mais je reçois l'erreurC# Problèmes acessing Liste protégés de la classe des enfants
Impossible d'accéder membre protégé « Liste.listItems » par un qualificatif si le type « Liste », le qualificatif doit être de type « ListReader »
Toute idée comment surmonter ce tout en maintenant le niveau de protection des List<Object> listItems
protégées (de sorte que aucune autre classe, mais le hérité on peut accéder à cette liste)?
public class Liste
{
public string name;
protected List<Object> listItems = new List<Object>(); //TO DO: add protection
}
class ListReader : Liste
{
public List<Liste> listsRead = new List<Liste>();
public List<Liste> ReadLists(TestCaseWorkbook tcwb, string tab)
{
try
{
int lineID = 0;
foreach (DataRow row in tcwb.Tables[tab].Rows)
{
if (lineID == 0)//first line
{
foreach (DataColumn cell in tcwb.Tables[tab].Columns)
{
Liste liste = new Liste();
liste.name = ExcelWorkbook.CleanTitleToInternal(cell.ColumnName);
if(liste.name != "")
{
listsRead.Add(liste);
}
}
lineID++;
}
for (int j = 0; j < row.ItemArray.Length; j++)//rest of sheet
{
Object item = row[j];
if(item.ToString() != "")
{
listsRead[j].listItems.Add(item);
}
}
}
(plus de code)
Le problème est à listsRead[j].listItems.Add(item);
Veuillez réduire ceci à un [mcve]. Je soupçonne fortement que 90% du code ici n'est pas pertinent, mais vous n'avez pas montré exactement * où * l'erreur est. Un [mcve] rendra beaucoup plus facile de vous aider. –
exactement s'il vous plaît poster les détails d'erreur pertinentes. –
Vous n'accédez pas à un membre de la même instance mais à un membre d'un autre objet dans votre structure arborescente dans listsRead [j] .listItems. –