1
我想我將能夠訪問受保護的名單在父類中,從一個子類,但得到的錯誤C#問題從子類
無法訪問受保護的成員「Liste.listItems acessing保護名單」通過資格賽,如果類型‘清單當然’,限定的類型必須是‘ListReader’
任何想法如何克服這一點的同時仍維持保護List<Object> listItems
(這樣其他類,但繼承的保護級別人們可以訪問此列表)?
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);
}
}
}
(更多的代碼)
的問題是在listsRead[j].listItems.Add(item);
請把它降低到[mcve]。我強烈懷疑這裏90%的代碼是不相關的,但是你沒有完全顯示錯誤在哪裏。 [mcve]會讓你更容易幫助你。 –
請準確填寫相關的錯誤信息。 –
您沒有訪問listRead [j] .listItems中樹形結構中同一實例的成員,而是其他對象的成員。 –