У меня был коллега, увидев это на днях, и я не совсем понимаю, почему это произошло. Может ли кто-нибудь объяснить это?C# Наследование
Мы имеем Класс A:
using System;
using System.Data;
public class A
{
protected DataTable _table;
public A()
{
}
}
Мы имеем класса B, который наследует от класса А (предположим, что существует в том же пространстве имен):
using System;
public class B : A
{
public B()
{
}
}
В конструктор класса В, если я попробуйте this._table, он не компилируется? Почему это не так?
Но чтобы заставить его работать, я должен добавить с помощью System.Data; и все работает нормально.
Почему .NET не делает это для меня? Так что, когда я пытаюсь получить доступ к защищенному члену, он знает, что его файл System.Data.DataTable?
простите меня, если классы 100% правильно ...
«если я попробую this._table». this._table не является полным заявлением. Что именно вы пытаетесь с этим сделать? –
Если ваша проблема была просто отсутствующей точкой с запятой, я бы предложил просто удалить этот вопрос. –
Не должны ли мы полностью квалифицировать наши типы в классе? Это была мантра, ввергнутая мне в голову, изучая C++ anwyay. – user10178