C# 在C中如何将一个类中的getter和setter调用到另一个类中

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;

如何将一个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 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}
}