是否可以在 C# 中向用户隐藏无参数构造函数?
我想强迫他们总是使用带参数的构造函数
例如这个位置结构
public struct Position
{
private readonly int _xposn;
private readonly int _yposn;
public int Xposn
{
get { return _xposn; }
}
public int Yposn
{
get { return _yposn; }
}
public Position(int xposn, int yposn)
{
_xposn = xposn;
_yposn = yposn;
}
}
我只希望用户能够通过指定 x 和 y 坐标来更新位置。
但是,无参数构造函数始终可用。
我不能将其设为私有。甚至将其定义为公开的。
我已阅读此内容: 为什么我不能为 .NET 中的结构定义默认构造函数?
但它并没有真正帮助。
如果这是不可能的 - 检测我被传递的位置是否具有值的最佳方法是什么?
明确检查每个属性字段?有没有更流畅的方法?