Ich dachte, ich in der Lage wäre, eine geschützte Liste in einer übergeordneten Klasse zugreifen, von einem Kind-Klasse, aber bekommen den FehlerC# Probleme acessing Liste von Kindklasse geschützt
können nicht geschützt Mitglied zugreifen „Liste.listItems “über einen Qualifier, wenn der Typ‚Liste‘, muss das Qualifikationsspiel vom Typ sein‚ListReader‘
Jede Idee, wie diese während überwinden noch die Schutzstufe der geschützten List<Object> listItems
beibehalten (so dass keine anderen Klassen, sondern die geerbte kann man auf diese Liste zugreifen)?
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);
}
}
}
(mehr Code)
Das Problem ist bei listsRead[j].listItems.Add(item);
Bitte reduzieren Sie dies auf ein [MCVE]. Ich vermute stark, dass 90% des Codes hier irrelevant sind, aber Sie haben nicht genau gezeigt, wo * der Fehler liegt. A [mcve] wird es viel einfacher machen, Ihnen zu helfen. –
genau bitte die relevanten Fehlerdetails bekannt geben. –
Sie greifen nicht auf ein Mitglied derselben Instanz, sondern auf ein Mitglied eines anderen Objekts in Ihrer Baumstruktur in listsRead [j] .listItems zu. –