The*_*l26 -1 c# visual-studio-2017
我正在尝试创建一个派生类,我收到每个构造函数的语法错误.
没有给出的参数对应于'Parent.Parent(Parent)'所需的形式参数'p'
这对我没有任何意义.这是一个构造函数定义,而不是方法调用,我以前从未在非调用的东西上看到这个.
namespace ConsoleApp1
{
public class Parent
{
public string Label;
public Parent(Parent p)
{
Label = p.Label;
}
}
public class Child : Parent
{
public string Label2;
public Child(Parent p)
{
Label = p.Label;
}
public Child(Child c)
{
Label = c.Label;
Label2 = c.Label2;
}
public Child(string blah, string blah2)
{
Label = blah;
}
}
class Program
{
static void Main(string[] args)
{
}
}
}
Run Code Online (Sandbox Code Playgroud)
这个:
public LabelImage(LabelImage source)
{
Label = source.Label;
image = new MagickImage(source.image);
fileinfo = source.fileinfo;
}
Run Code Online (Sandbox Code Playgroud)
暗示这是:
public LabelImage(LabelImage source) : base()
{
Label = source.Label;
image = new MagickImage(source.image);
fileinfo = source.fileinfo;
}
Run Code Online (Sandbox Code Playgroud)
注意该base()部分,试图调用无MyImageAndStuff参数构造函数,或者只调用params数组参数的函数,或者只调用可选参数的函数.不存在这样的构造函数,因此存在错误.
你可能想要:
public LabelImage(LabelImage source) : base(source)
{
Label = source.Label;
image = new MagickImage(source.image);
fileinfo = source.fileinfo;
}
Run Code Online (Sandbox Code Playgroud)
...和所有其他构造函数类似的东西.或者,或者您需要添加无参数构造函数MyImageAndStuff.它似乎很奇怪,你不能创建一个实例MyImageAndStuff,而不已经有实例MyImageAndStuff-虽然我猜测source可能是零.