Заменить setter для переменной, определенной в конструкторе по умолчанию

Итак, у меня есть класс Kotlin, который выглядит примерно так:

class MyClass { var myString: String = "" set(value) { field = value doSomethingINeed() } constructor(myString: String) { this.myString = myString } } 

Тем не менее, Android Studio предупреждает меня, что я могу использовать это как конструктор по умолчанию. Когда я выбираю это, он меняет его на это:

 class MyClass(var myString: String) 

Теперь я теряю возможность переопределить сеттер, потому что, если я setMyString() метод под названием setMyString() я получу ошибку компилятора.

Есть ли способ переопределить сеттер, если это поле является частью конструктора по умолчанию, или мне нужно перейти с параметром 1 и просто игнорировать предупреждение, которое я получаю?

Быстрое исправление для него определенно закручивает вещи, но комментарий пытается указать вас в правильном направлении. Вы хотите определить первичный конструктор, который принимает только параметр (не определяющий свойство), а затем использовать этот параметр для инициализации свойства. Что-то вроде этого:

 class MyClass(myString: String) { var myString: String = myString set(value) { field = value doSomethingINeed() } }