Простите, ребята, моя ошибка. Спасибо, что забрали мой пот заработанные очки;)

у я вижу, как люди реализуют такие свойства?
Какой смысл проверять, равно ли значение текущему значению?

public double? Price
{
    get
    {
        return _price;
    }
    set
    {
        if (_price == value)
            return;
        _price = value;
    }
}

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

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