C# C-使用类型作为实例变量

C# C-使用类型作为实例变量,c#,class,constructor,C#,Class,Constructor,我正在遵循C编程指南《C玩家指南》第二版,我被困在理解课程第131页 这个练习说明我应该构造一个Ball类,它应该有一个size/radius和一个color实例变量。现在我已经创建了一个color类,它有两个构造函数,一个接受四个ushort,一个接受三个ushort类型,但是它希望我使用我刚刚创建的color类型 我不知道该怎么做!到目前为止,我已经: private int size; private int radius; private int throwCount; private

我正在遵循C编程指南《C玩家指南》第二版,我被困在理解课程第131页

这个练习说明我应该构造一个Ball类,它应该有一个size/radius和一个color实例变量。现在我已经创建了一个color类,它有两个构造函数,一个接受四个ushort,一个接受三个ushort类型,但是它希望我使用我刚刚创建的color类型

我不知道该怎么做!到目前为止,我已经:

private int size;
private int radius;
private int throwCount;
private Colour colour;

public Ball(int size, int radius, Colour colour)
{
    this.size = size;
    this.radius = radius;
    this.colour = colour;
}
如果我创建一个球,我不知道如何正确使用颜色参数

Ball myBall = new Ball(1,2, ?)
你们能帮我一下,告诉我我做得对吗

来自一个纯粹的新手的提前感谢

首先创建一个新的颜色对象,然后将其传递给Ball构造函数方法:

var colour = new Colour( ... );  // provide suitable parameters
Ball myBall = new Ball(1, 2, colour);
或者您甚至可以在一行代码中完成:

Ball myBall = new Ball(1, 2, new Colour( ... ));  // provide suitable parameters

这里您至少有两个选择:

他们希望您在实例化颜色时实例化球:

Ball myBall = new Ball(1,2, new Colour(1,2,3));
他们希望您在球之前实例化它,然后在球之后重用它,这样您就可以对不同的球使用相同的颜色实例:

Colour myColor = new Colour(1,2,3)
Ball myBall = new Ball(1,2, myColor );
Ball myOtherBall = new Ball(4,2, myColor );

以相同的方式构造颜色实例,例如新球1、2、新颜色1、2、3、4。查看如何创建新球?您只需要创建一个新的颜色来传递给Ball构造函数。您需要创建颜色类实例并传递Ball构造函数。你能分享颜色类吗?我更感兴趣的是为什么你知道你应该使用new关键字来创建Ball类的实例,而你不确定如何创建颜色实例?我只是没有想到。在我学习的过程中,我已经习惯了将值作为参数传递,尽管我没有意识到在使用该方法时可以构造实例。希望有意义的是MNIT FGITW再次获胜xD,尽管我仍然被这个问题弄糊涂了,是班级颜色还是两者都取决于你如何拼写它?除了这样做,你的答案没有解释OP应该做什么。请给出您的答案,这样OP和后来的访问者就可以从中学习到一些东西,而不是复制粘贴。@CodeCaster我这样做了,但几分钟后很遗憾地发布了它haha@Fabio没必要,最快的枪已经生效了,还有一个答案几乎是一样的,这会使问题变得更加复杂,我现在必须删除我的答案吗?