gpt4 book ai didi

c# - 可选的构造函数

转载 作者:行者123 更新时间:2023-11-30 18:53:33 24 4
gpt4 key购买 nike

我有一个 Coordinates 类,定义如下:

public class Coordinates
{
[XmlIgnore]
public Vector3 Vector3 { get { return new Vector3(X, Y, Z); } set { X = value.X; Y = value.Y; Z = value.Z; } }

[XmlIgnore]
public Coordinates(float cX, float cY, float cZ) { X = cX; Y = cY; Z = cZ; }

[XmlIgnore]
public Coordinates(Vector3 coord) { X = coord.X; Y = coord.Y; Z = coord.Z; }

public float X { get; set; }
public float Y { get; set; }
public float Z { get; set; }
}

我需要能够使用这 3 种方式定义此类的新实例:

Coordinates var = new Coordinates(1,2,3);
Coordinates var = new Coordinates(Vector3.Zero);
Coordinates var = new Coordinates { X = 0, Y = 0, Z = 0 }

前两个有效,但第三个无效。如果我从我的类中删除构造函数,则第三个构造函数起作用,但前两个构造函数不起作用。

我如何让它工作?

最佳答案

这是因为当您没有定义任何构造函数时,编译器会插入一个没有参数的默认构造函数。你只需要添加一个空的构造函数,

public Coordinates() { } 

然后你就可以使用这三个版本了

关于c# - 可选的构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23458788/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com