Создание поля жестко запрограммировано для чтения только при создании. Идея состоит в том, что вы создаете поле, поэтому в нем нет использования по умолчанию для самого ограничительного, если вы попытаетесь записать его в другое место, вы можете нажать alt + enter в этом месте и удалить статус только для чтения. Если поле уже существует, ReSharper попытается инициализировать существующее поле из параметра.
Если вы хотите, вы можете написать плагин для генерации поля как не предназначенного только для чтения. Вы должны посмотреть на класс IntroduceFieldFix
в dotPeek. У него есть несколько конструкторов, которые связывают быстрое исправление с предупреждающими надписями, и он вводит поле, используя шаблон по умолчанию для текущего языка (который жестко задан как "private readonly $0 $1;
")
Вы можете создать класс, который также является производным от InitializeFieldFix
и включает в себя конструктор, который принимает UnusedParameterWarningBase
в качестве параметра. Затем вы можете следовать той же реализации, что и IntroduceFieldFix
, но предоставить другой шаблон для создания поля, сначала проверяя текущий язык.