Skip to content

Public field (ARCH704)

Key dotnet.codequality.public-field · Severity warning · Category codequality · Principle SeparationOfConcerns

Public fields break encapsulation; you cannot add validation, change notification, or preserve binary compatibility. Use properties instead.

public class Account
{
public decimal Balance;
}
public class Account
{
public decimal Balance { get; private set; }
}

Convert the public field into a property and restrict setter access where appropriate.