多个实例参数

本文关键字:参数 实例 | 更新日期: 2023-09-27 18:24:17

您好!我想知道在实例化一个类时是否可以分配多种不同类型的参数。

下面是我现在拥有的的一个例子

    public Unit(Vector2 Position, Color col)
    {
        this.position = Position;
        this.color = col;
    }

注意它需要一个Vec2&颜色,我想知道是否可以这样做,这样我就可以在下面的例子中选择一个参数或两个参数。

1

    public Unit(Vector2 Position)
    {
        this.position = Position;
        this.color = Color.White;
    }

2

    public Unit(Vector2 Position, Color col)
    {
        this.position = Position;
        this.color = col;
    }

多个实例参数

如果使用C#4或更新版本,另一种可能性是默认值

public Unit(Vector2 position, Color col = Color.White)
{
    this.position = position;
    this.color = col;
}

Unit u = new Unit(myVector2);  // defaults to white
Unit u2 = new Unit(myVector2, Color.Blue);

当然可以像那样重载构造函数。我建议让一个过载呼叫另一个:

public Unit(Vector2 position) : this(position, Color.White)
{
}
public Unit(Vector2 position, Color col)
{
    this.position = position;
    this.color = col;
}