Автосвойства C# 3.0 — полезно или нет?

Да, просто сохраняет код. Читать c#-language намного легче, когда их много. Их automatic-properties быстрее писать и легче поддерживать. Сохранение c-sharp кода — всегда хорошая цель.

Вы auto-properties можете установить разные auto-properties области действия:

public string PropertyName { get; private set; }

Чтобы свойство .net-framework можно было изменить только auto-properties внутри класса. На самом деле .cs-file это не является неизменным, поскольку automatic-properties вы все равно можете получить automatic-properties доступ к частному сеттеру automatic-properties через отражение.

Начиная с dotnet C#6, вы также можете создавать csharp настоящие свойства readonly, то есть c-sharp неизменяемые свойства, которые dotnet нельзя изменить вне конструктора:

public string PropertyName { get; }

public MyClass() { this.PropertyName = "whatever"; }

Во c# время компиляции это станет:

readonly string pName;
public string PropertyName { get { return this.pName; } }

public MyClass() { this.pName = "whatever"; }

В csharp неизменяемых классах с большим c-sharp количеством членов это экономит c# много лишнего кода.

c#

.net

automatic-properties

2022-08-22T10:17:01+00:00