Задать вопрос
  • Как называется такая конструкция в C#?

    DmitryITWorksMakarov
    @DmitryITWorksMakarov
    Tom Nolane и flafy4 Геттеры и сеттеры нужны не только чтобы "выводить приватную переменную наружу".

    Если приватные переменные прячут в "приватной области видимости" значит это кому-нибудь нужно. Что мешает просто изменить модификатор доступа у поля сделав его доступным снаружи, чем городить какие-то геттеры/сеттеры?

    Есть куча более интересных применений геттеров и сеттеров, например:

    уведомить об изменении состояния объекта:
    string _StateValue;
    public string stateValue
    {
        get {return _StateValue; }
        set 
        {
            _StateValue = value;
            OnStateValueChanged(value); //этот метод генерирует событие на которое подписаны все кому интересно изменения этого поля, например при изменении поля могут по событию перерисовываться форма
        }
    }


    выполнить отложенную инициализацию поля, хотя есть и другие способы это сделать, например через Lazy:
    string _CaсhedValue = null;
    string cachedValue
    {
        get
        {
            if (_CachedValue == null)
            {
                _CachedValue = CreateValue(); //этот метод вычисляет значение
            }
            return _CachedValue; 
        }
    }


    вычисляемые свойства
    PointF _Start;
    PointF _Stop;
    PointF center 
    {
        get
        {
            return new PointF((_Start.X+_Stop.X)/2,(_Start.Y+_Stop.Y)/2);
        }
    }


    это только первое что в голову пришло...
    Ответ написан
    3 комментария
  • Как сделать двойную переадресацию?

    Jump
    @Jump Куратор тега Windows
    Системный администратор со стажем.
    Никак.
    Никаких редиректов через файл Hosts делать нельзя, там чисто статика DNS.
    Редирект с гугла на вконтакт можно сделать с помощью прокси.
    Пользователь набирает гугл, прокси меняет имя на вконтакт и отправляет запрос.
    А вот уже редирект дальше это уже на самом вконтакте делать надо.
    Хотя никто не запрещает вам сразу перенаправить с гугла на мэйл.
    Ответ написан
    2 комментария