Это правильный синтаксис для авто свойств?

2

Я так долго программировал, что мне трудно не отставать от языковых изменений...

Действительно ли можно установить такие свойства после .net v2

    public string LocaleName
    {
        get;
        set;
    }

Не требуется внутреннее поле? Похоже, компилятор заботится об этом в последнее время?

  • 0
    Вы можете изменить свой вопрос, чтобы отразить, что вы спрашиваете, какую версию C # вы установили.
  • 0
    это правильно, и вы можете ограничить доступность каждого из них, например, публичной строки LocaleNam {get; приватный набор;}
Теги:

6 ответов

10
Лучший ответ

Да, это новая функция в С# 3.0

  • 0
    Итак, я программирую на C # v3, но использую .net v2 framework?
  • 1
    @JL, да, это функция C # , которая не требует какой-либо конкретной версии фреймворка. :)
Показать ещё 6 комментариев
3

Просто, чтобы вы знали, вы также можете сделать что-то вроде этого:

public string MyString
{
   get;
   private set;
}

который дает вам общедоступный аксессор, но частный сеттер.

3

Это нормально, если вам не нужно проверять, правильно ли установлены значения.

Вы можете взглянуть на С# Specification.

1

Да, они называются 'автоматически реализованные свойства. Компилятор создаст резервное поле для вашего имущества.

Поскольку "автоматически реализованные свойства" являются "компилятором С#", вы можете использовать их в своем коде и целевой .NET framework 2.0, если вы используете компилятор С# 3.0 для компиляции вашего кода.

0

Да. В С# 3.0 и более поздних версиях автоматически реализованные свойства упрощают декларацию свойств, когда в аксессуарах свойств не требуется дополнительная логика. Они также позволяют клиентскому коду создавать объекты. Когда вы объявляете свойство, как показано в следующем примере, компилятор создает приватное, анонимное поле поддержки может быть доступно только через свойство get и set accessors.

0

Да, они называются автоматические свойства и будут генерировать фоновое поле за кулисами.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню