Возьмем следующий фрагмент в качестве примера:
public class JsonHelper
{
private readonly JsonSerializerSettings _serializerSettings;
public JsonSerializerSettings Settings
{
get //Settings of JsonHelper should be immutable, that's why 'get' does not return the field _serializerSettings
{
return new JsonSerializerSettings()
{
DateTimeZoneHandling = DateTimeZoneHandling.Utc,
};
}
}
public JsonHelper()
{
_serializerSettings = Settings;
}
}
Я не хочу, чтобы JsonSerializerSettings
был изменяемым извне, но я хочу иметь возможность предлагать такие же настройки в сценариях, где яне может напрямую использовать JsonHelper
.
Есть ли какой-либо способ сообщить пользователю этого класса, что он не может сделать следующее и ожидать ожидаемого результата?
var instance = new JsonHelper();
instance.Settings.DateTimeZoneHandling = DateTimeZoneHandling.Local;
Или это единственный способ создать метод с именем GetCopyOfSettings()
?