这是我的基类:
class baseClass
{
string fileContents;
public baseClass(string filePath)
{
fileContents=getContents(filePath);
}
}
我有一个派生类,其中文件路径始终相同。理想情况下,我想按如下方式传递该文件路径:
class derivedClass:baseClass
{
string specialFilePath=@"x:\abc.def";
public derivedClass():base(specialFilePath)
{
}
}
但这给了我一个编译错误:
An object reference is required for the non-static field, method, or property 'derivedClass.specialFilePath'
如果我理解正确,这是因为 baseClass
构造函数首先被调用,在 derivedClass
有机会创建 specialFilePath
之前。如何将此字符串传递回基类的构造函数?
最佳答案
将“specialFilePath”设为静态,这将起作用——静态成员在构造函数运行之前被初始化。
class derivedClass:baseClass
{
static string specialFilePath=@"x:\abc.def";
public derivedClass():base(specialFilePath)
{
}
}
关于c# - 如何将派生类属性传递给基类的构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22108624/