我的问题是这样的。我有一个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)
{
}
我的问题是上面的代码是否正确?我是否需要在此构造函数中编写整个检查过程,还是由基类的构造函数处理?只是一个空代码块是正确的吗?
答案 0 :(得分:3)
不确定您使用的是哪种语言,但对于大多数语言(例如Java或C#),您可以在以下情况下省略在派生类型中定义构造函数:
但是,您的基类只定义了一个非默认构造函数,因此您需要在派生类中重新定义它。您拥有的以下代码是正确的:
public KeyPairingXML(string inFilePath, string inXMLFileName)
: base(inFilePath, inXMLFileName) {
}
您还应该能够在基类上调用public方法。您是否看到任何错误/警告?