如何将一个getter和setter从一个类调用到另一个类?我必须从Ball.cs调用另一个名为StartGame.cs的类。我需要将它放在StartGame.cs中的计时器中。例如,在Ball类中。
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;
}
}
谢谢。
答案 0 :(得分:1)
如果要在不同的类中使用变量,则必须将该变量定义为public(如果从其他类继承,则将该变量定义为protected / protected internal)。
公开这样的变量意味着暴露你的类的实现。最好使用get和set访问器抽象那些东西并通过属性公开变量。
答案 1 :(得分:0)
如果你想从C#中的其他类调用变量,那么只需
Console.WriteLine(test.address);
注意一件事应该是public
喜欢
public class test
{
public static string address= "";
}
以下是关于如何致电的小描述,希望您根据自己的需要了解和修改。
答案 2 :(得分:0)
我很确定,你要找的是这样的:
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方法:
myBall.setSpeedX(speedX); // this would work
...
老实说,我很困惑......你是否从某个地方复制粘贴此代码而只是不知道如何使用它?
我相当肯定,任何能够编写此代码的人都不需要问这样一个基本问题。如果我误解了你的问题,我会删除这个答案。
答案 3 :(得分:0)
你也可以把它写成一个字段:
private String somevar;
public String Somevar{
get{ return this.somevar}
set { this.somevar = value}
}