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

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

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

public string PropertyName { get; private set; }

Чтобы свойство dot-net можно было изменить только c-sharp внутри класса. На самом деле dotnet это не является неизменным, поскольку visual-c# вы все равно можете получить c#.net доступ к частному сеттеру c#-language через отражение.

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

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"; }

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

c#

.net

automatic-properties

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