C# 在C中如何将一个类中的getter和setter调用到另一个类中
如何将一个getter和setter从一个类调用到另一个类?我必须从Ball.cs调用另一个名为StartGame.cs的类。我需要把它放在StartGame.cs的计时器里。例如,课堂上的舞会C# 在C中如何将一个类中的getter和setter调用到另一个类中,c#,visual-studio-2010,variables,getter-setter,C#,Visual Studio 2010,Variables,Getter Setter,如何将一个getter和setter从一个类调用到另一个类?我必须从Ball.cs调用另一个名为StartGame.cs的类。我需要把它放在StartGame.cs的计时器里。例如,课堂上的舞会 public class Ball { public int speedX { get; private set; } public int speedY { get; private set; } public int positionX { get; private set;
public class Ball
{
public int speedX { get; private set; }
public int speedY { get; private set; }
public int positionX { get; private set; }
public int positionY { get; private set; }
public Ball(int speedX, int speedY, int positionX, int positionY)
{
this.speedX = speedX;
this.speedY = speedY;
this.positionX = positionX;
this.positionY = positionY;
}
public int setSpeedX(int newSpeedX)
{
speedX = newSpeedX;
return newSpeedX;
}
public int setSpeedY(int newSpeedY)
{
speedY = newSpeedY;
return newSpeedY;
}
public int setPositionX(int newPositionX)
{
positionX = newPositionX;
return newPositionX;
}
public int setPositionY(int newPositionY)
{
positionY = newPositionY;
return newPositionY;
}
}
谢谢。如果要在其他类中使用变量,则必须将该变量定义为public或protected/protected internal(如果从其他类继承)
但是,这样公开变量意味着公开类的实现。最好使用get和set访问器抽象这些内容并通过属性公开变量。如果您想从C中的其他类调用变量,那么只需
Console.WriteLine(test.address);
注意一件事,它应该是公开的
以下是一个关于如何呼叫的小说明,希望您能理解并根据需要进行修改。我很确定,您需要的是以下内容:
class StartGame
{
void MyMethod()
{
Ball myBall = new Ball(0, 1, 2, 3);
int speedX = myBall.speedX; // == 0
int speedY = myBall.speedY; // == 1
int positionX = myBall.positionX; // == 2
int positionY = myBall.positionY; // == 3
}
}
由于这些字段具有专用设置器,因此无法执行以下操作:
myBall.speedX = speedX;
因为setter不可访问。
但是,您确实有公共setter方法:
myBall.setSpeedX(speedX); // this would work
。。。
老实说,我很困惑。。。你是不是从某个地方复制粘贴了这段代码,却不知道如何使用它?
我相当肯定,任何能写这段代码的人都不需要问这样一个基本的问题。如果我误解了您的问题,我将删除此答案。您也可以将其作为字段写入:
private String somevar;
public String Somevar{
get{ return this.somevar}
set { this.somevar = value}
}
你的问题到底是什么?也许可以用例子来解释。你想做什么并不完全清楚。您在StartName的实例中,其中有一个Ball实例,例如,要设置该实例的speedX属性吗?我在startName.cs中有许多Ball。因此,我正在创建一个名为Ball.cs的类。其中,Ball.cs创建方法。并且,我将使用ball.cs在StartGame.cs中设置球的速度和位置。我从stackoverflow中的一个用户那里获得了上述代码,他回答了我的问题。然而,我不知道如何使用它。
private String somevar;
public String Somevar{
get{ return this.somevar}
set { this.somevar = value}
}