C#でユーザーからパラメータなしのコンストラクタを隠すことは可能ですか?
常にパラメーター付きのコンストラクターを使用するように強制したい
たとえば、この Position 構造体
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 で構造体の既定のコンストラクターを定義できないのはなぜですか?
しかし、それは本当に役に立ちません。
これが不可能な場合 - 渡された位置に値があるかどうかを検出する最良の方法は何ですか?
各プロパティ フィールドを明示的にチェックしますか? よりスマートな方法はありますか?