传递带有参数的构造函数

本文关键字:构造函数 参数 | 更新日期: 2023-09-27 18:30:34

您好,我在传递带有类参数的构造函数时遇到问题。这就是:

    // Non-static variables exist once for each instance of the class
    Vector2 position;
    public Vector2 Position { get { return position; } }
    public myClass(Vector2 position)
    {
        this.position = position;
    }

我正在尝试像这样实例化它(Game1类):

myClass myClassInstance;
protected override void Initialize()
{
    // TODO: Add your initialization logic here.
    myClassInstance = new myClass(Position);
    base.Initialize();
}

但是我在Initialize()得到这个错误:

Error   1   The name 'Position' does not exist in the current context

传递带有参数的构造函数

您的 Initialize 方法在作用域中没有声明任何类型的"Position"变量。 例如,您可以执行以下操作:

myClass myClassInstance;
protected override void Initialize()
{
    // variables defined in a function are typically lower-case in C#
    Vector2 position = new Vector2(0,0);
    // I changed "Position" to "position" to match the variable
    myClassInstance = new myClass(position);
    base.Initialize();
}

但是,这里更大的问题可能是,在继续之前,您需要花一点时间快速了解 C#,因为如果语法对您没有意义,这可能是您遇到的许多问题中的第一个。 这是一个很棒的视频系列:

https://www.youtube.com/playlist?list=PLMUNVW3VsMWUB9mPN10vU6jvc_jbHvs1g