【发布时间】:2015-01-14 00:58:41
【问题描述】:
我有一个关于我的 Windows 窗体应用程序的构造函数的问题。首先我想说我是编程新手。
事情是这样的。我正在另一个类中创建一个构造函数,该类应该包含不同的参数值。在这种情况下,它应该是 int X、int Y、int Length、int Height。我在这里要做的是让我的图片框的 X、Y、长度和高度都是随机的。我在下面发送代码:
class Rechthoekcs
{
Random random = new Random();
public int Xas
{
get;
set;
}
public int Yas
{
get;
set;
}
public int Lengte
{
get;
set;
}
public int Breedte
{
get;
set;
}
public Rechthoekcs(int x, int y, int lengte, int breedte)
{
this.Xas = x;
this.Yas = y;
this.Lengte = lengte;
this.Breedte = breedte;
x = random.Next(x);
y = random.Next(y);
lengte = random.Next(lengte);
breedte = random.Next(breedte);
}
从我的 Form1 我想调用这个类/构造函数
但它给了我一个错误。它说“不包含带有 0 个参数的构造函数”,我知道这是因为我输入了 x、y、长度和宽度。但我不能只将其他类的变量添加到新参数中。我真的不明白。我发现构造函数非常困难。我永远不知道我应该给它什么参数......
我从我的 Form1 将代码发送到下面:
public partial class Form1 : Form
{
Rechthoekcs Rechthoek = new Rechthoekcs(.......);
public Form1()
{
InitializeComponent();
}
这真的让我很沮丧。我尝试在网络和书籍等上查找,但我不清楚关于应该为构造函数提供哪些参数的所有解释。有人可以解释一下吗?不理解它让我发疯。另外,我经常卡在这些点上..
【问题讨论】:
-
那么您的其他班级是否能够传递数据?要么可以,但您需要输入值,要么不能,并且该类的构造函数中不能有参数。
-
您不知道这些值,因为它们来自表单(或其他来源)?然后在知道值之前不要调用构造函数。
-
您始终可以创建一个字段并稍后调用构造函数:
Rechthoekcs Rechthoek;和稍后的Rechthoek = new Rechthoekcs(...),当您知道正确的值时。 -
您希望传递给 Rechthoekcs 的构造函数的值来自哪里?请注意,您可以保留“Rechthoek”变量而不给它一个值。例如。你可以有“Rechthoekcs Rechthoek;”上面 Form1 的构造函数,并在你使用它之前给 Rechthoek 赋值。
标签: c# constructor parameter-passing