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

时间:2013-05-22 09:16:49

标签: c# visual-studio-2010 variables getter-setter

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

谢谢。

4 个答案:

答案 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}
}