在VS C#Express上,运行以下代码时出现此错误:
'myComponent.SettingsComponentAttributes'不包含 带有1个参数的构造函数。
我已尝试在类本身中添加构造函数,但同样的消息应用于新构造函数:
public override void CreateAttributes()
{
m_attributes = new SettingsComponentAttributes(this);
}
public SettingsComponentAttributes(SettingsComponentAttributes obj)
{
}
答案 0 :(得分:7)
你的类没有声明任何构造函数,因此它等同于拥有一个无参数构造函数:
public SettingsComponentAttributes()
{
}
您尝试将参数(this
)传递给构造函数 - 这不会起作用。您需要更改构造函数调用,或声明适当的构造函数。
您应该也仔细查看错误消息并找出您需要在Stack Overflow上询问的原因。哪一条信息对你来说并不清楚?修改C#知识的那个方面。理解错误消息是成为优秀开发人员的一个非常重要的部分,这一点非常明确:
答案 1 :(得分:4)
默认构造函数是无参数的,所以如果你想创建一个接受一个参数的构造函数,你必须自己创建它
像这样的东西
public class SettingsComponentAttributes : GH_ComponentAttributes
{
public override void CreateAttributes()
{
m_attributes = new SettingsComponentAttributes(this);
}
public SettingsComponentAttributes(SettingsComponentAttributes obj)
{
// Do your fancy work here
}
}
答案 2 :(得分:1)
您需要创建一个带有1个参数ep>的类构造函数
public SettingsComponentAttributes(SettingsComponentAttributes other)
{
// Initialise.
}
答案 3 :(得分:0)
你没有一个带有1个参数的构造函数
public SettingsComponentAttributes(int i)