Довольно новый для C# - мне было поручено создать подкласс, чтобы сделать вариацию базового класса. Никогда не занимаясь подклассами раньше, я немного прочитал, а затем попробовал. Я мог получить доступ только к частной собственности MyClass из подкласса после наследования из базового класса. Что я здесь сделал? Является ли это истинным подклассом или каким-то вложенным наследующим?Подкласс или интерфейс C#?
public class MyClass
{
private string connString;
// exec stored procedure 1
public class MySubClass : MyClass
{
otherClass o = new otherClass(connString);
// exec stored procedure 2
}
}
Независимо от того, что я сделал, это работает. Кроме того, в то время как на тему подклассов существует ли общий способ назвать их? например MyClass_SubClass или _MyClass и т. Д.?
Большое спасибо!
Редактировать: Еще раз спасибо! Я думаю, что искал этот ответ here. Несмотря на это, я понял, что я неправильно понял задачу - вообще не нужно гнездовать или наследовать! Просто создал отдельный подобный класс.
Я не совсем понимаю ваш вопрос, но причина, по которой вы можете получить доступ к частному полю * внешнего *, заключается в том, что он охватывает ваш внутренний класс, где вы делаете доступ. Это не имеет никакого отношения к подклассу. –
Мне удалось получить доступ к частному полю при наследовании от базового класса, что было сбивает с толку. Переход на «protected» позволяет мне перемещать вложенный класс за пределы базы и все еще получать доступ к полю. – Shwarz