Структуре не разрешается объявлять деструктор (раздел 11.3.9).

ли скрыть конструктор без параметров от пользователя в 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?

но это не очень помогает

Если это невозможно - как лучше всего определить, имеет ли Позиция, которую мне передают, значения?

Проверка простоты каждого поля свойства? Есть ли более приятный способ?

Спасибо

Ответы на вопрос(4)

Ваш ответ на вопрос