我有一个带无参数构造函数的结构:
struct Coordinate
{
public Coordinate() : this(4, 5, 6)
{
}
public Coordinate(float x, float y, float z)
{
X = x;
Y = y;
Z = z;
}
public float X { get; private set; }
public float Y { get; private set; }
public float Z { get; private set; }
}
我将项目属性中的languate属性设置为C#,但仍然出现编译错误。
Error CS0568 Structs cannot contain explicit parameterless constructors
答案 0 :(得分:1)
可悲的是,C#不允许定义无参数构造函数。 解决方法是将默认值定义为属性。
public static Coordinate defaultValue { get { return new Coordinate (7, 6, 3); } }