Моя проблема такая. У меня есть класс XMLUtilityДолжен ли я иметь конструктор в производном классе?
public class XmlUtility
{
protected string FilePath;
protected string XMLFileName;
protected XmlDocument SettingsFile;
public XmlUtility(string inFilePath, string inXMLFileName)
{
FilePath = inFilePath;
XMLFileName = inXMLFileName;
if (isFilePresent() == false)
{
createXMLFile();
}
else
{
SettingsFile = new XmlDocument();
SettingsFile.Load(FilePath + "\\" + XMLFileName);
}
}
и
public bool isFilePresent()
{
return File.Exists(FilePath + "\\" + XMLFileName) ? true : false;
}
и другие основные функции, такие как addSetting, removeSetting, checkSettingExists и т.д. Этот класс предоставляет функциональные возможности для очень основного файла настроек XML.
Так что теперь мне нужно немного более сложное управление настройками. Поэтому я создал другой класс и получил его из класса XMLUtility.
public class KeyPairingXML : XmlUtility
{
}
Так моя первая мысль была мне не нужно иметь конструктор для этого класса, как это будет вызывать конструктор базовых классов. Но я был неправ.
public KeyPairingXML(string inFilePath, string inXMLFileName) : base(inFilePath, inXMLFileName)
{
}
Мой вопрос: верный ли код? Нужно ли мне писать весь процесс проверки внутри этого конструктора или будет обрабатываться конструктором базового класса? Правильно ли пустой блок кода?
Просто примечание - вы можете опустить? true: false; из вашего метода isFilePresent() - вернуть File.Exists (FilePath + "\\" + XMLFileName); достаточно. –
О да! :) Thanx для указания этого +1 –