Я просматривал код для log4net и наткнулся на это.
private static readonly ILog logger = LogManager.GetLogger(typeof(AdminClient));
Мне интересно, зачем вам нужна приватная статическая только для чтения.
Насколько я понимаю, private означает, что переменная не может использоваться вне класса, если нет метода доступа или свойства get.
static будет означать, что переменная находится только в этом файле.
readonly будет означать, что вы можете читать только из значения и не можете присвоить его.
Итак, я думаю, что человек, который написал этот код. объявил его закрытым, так как они не хотят, чтобы он использовался вне класса, и статическим, поэтому не хотят, чтобы он использовался вне файла. Тем не менее, если есть свойство get, статическая защита предотвращает возникновение этой формы.
Я думаю, что могу понять только для чтения, а значение нужно только читать, а не устанавливать.
Большое спасибо за любой совет,