Mon problème est comme ça. J'ai une classe XMLUtilityDevrais-je avoir un constructeur dans une classe dérivée?
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);
}
}
et
public bool isFilePresent()
{
return File.Exists(FilePath + "\\" + XMLFileName) ? true : false;
}
et d'autres fonctions de base telles que addSetting, removeSetting, checkSettingExists etc. Cette classe fournit des fonctionnalités pour le fichier de paramètres xml très basique. Maintenant, j'ai besoin d'un peu plus de gestion avancée des paramètres. J'ai donc créé une autre classe et l'ai dérivée de la classe XMLUtility.
public class KeyPairingXML : XmlUtility
{
}
Donc, ma première pensée a été que je ne pas besoin d'avoir un constructeur pour cette classe comme il appellera le constructeur de classes de base. Mais je me trompais.
public KeyPairingXML(string inFilePath, string inXMLFileName) : base(inFilePath, inXMLFileName)
{
}
Ma question est de savoir si le code ci-dessus est correct? Ai-je besoin d'écrire tout le processus de vérification à l'intérieur de ce constructeur ou bien cela sera-t-il géré par le constructeur de la classe de base? Juste un bloc de code vide est correct?
Juste une note - vous pouvez omettre le? vrai faux; de votre méthode isFilePresent() - retourne File.Exists (FilePath + "\\" + XMLFileName); est assez. –
Oh oui! :) Merci de le signaler +1 –