我有一个这样的课程:
public class foo
{
public foo(string a, string b) { ... }
}
我想做这样的事情:
public class bar : foo
{
public bar()
{
base = base("apple", "banana");
}
}
Visual Studio对我大吼:
'foo' does not contain a constructor that takes 0 arguments
有办法做到这一点吗?
答案 0 :(得分:7)
这是做到这一点的方法:
public class foo
{
public foo(string a, string b) { ... }
}
public class bar : foo
{
public bar(): base("apple", "banana") // call base constructor
{
}
}
答案 1 :(得分:3)
像这样改写:
public bar() :
base("apple", "banana");
{
}
答案 2 :(得分:1)
试试这个:
public class bar : foo
{
public bar() : base("apple", "banana")
{
}
}
此致
答案 3 :(得分:1)
您需要执行以下操作。本质上,您告诉编译器使用哪个构造函数,因为没有可用的默认构造函数。
public class foo
{
public foo(string a, string b) { }
}
public class bar : foo
{
public bar()
: base("apple", "banana")
{
}
}
答案 4 :(得分:1)
您只需更改条形构造函数即可正确调用基础构造函数。
public class bar : foo
{
public bar() : base("apple", "banana")
{
}
}