В чем разница между Init-Only и ReadOnly в C# 9?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 В чем разница между Init-Only и ReadOnly в C# 9?

Сообщение Anonymous »

Я изучаю новые возможности C# 9, которые скоро будут выпущены. Вместе с ним вводятся свойства, доступные только для инициализации.
Одним большим ограничением сегодня является то, что свойства должны быть изменяемыми, чтобы инициализаторы объектов работали: они функционируют, сначала вызывая конструктор объекта ( по умолчанию, в данном случае без параметров), а затем назначаем его установщикам свойств.
Свойства, доступные только для инициализации, исправляют это! Они вводят метод доступа init, который является вариантом метода доступа set, который можно вызвать только во время инициализации объекта:

Код: Выделить всё

public class Person
{
public string FirstName { get; init; }
public string LastName { get; init; }
}
При таком объявлении приведенный выше клиентский код по-прежнему допустим, но любое последующее присвоение свойствам FirstName и LastName является ошибкой. Что означает эта строка? Если ReadOnly делает то же самое, тогда какой смысл в свойстве Init-Only?

Подробнее здесь: https://stackoverflow.com/questions/623 ... -c-sharp-9
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как я могу преобразовать (ReadOnly)Span в (ReadOnly)Span или наоборот?
    Anonymous » » в форуме C#
    0 Ответы
    33 Просмотры
    Последнее сообщение Anonymous
  • Как я могу преобразовать (ReadOnly)Span в (ReadOnly)Span или наоборот?
    Anonymous » » в форуме C#
    0 Ответы
    35 Просмотры
    Последнее сообщение Anonymous
  • Как я могу преобразовать (ReadOnly)Span в (ReadOnly)Span или наоборот?
    Anonymous » » в форуме C#
    0 Ответы
    33 Просмотры
    Последнее сообщение Anonymous
  • Google Assistant Voice Command Only Opens App, не запускает возможности действия приложения из Shortcuts.xml
    Anonymous » » в форуме Android
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Locating certain C program header. How to grep directly or redirect to file listing from gcc -H -fsyntax-only source.c?
    Anonymous » » в форуме Linux
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»