Соответствие имени метода в kotlin / java - PullRequest
0 голосов
/ 21 сентября 2018

Я играл с ObjectAnimator и создал простой чертеж.

// In my drawable file

fun setMyCustomParameter(...) {
    blah blah blah
}

Для запуска анимации у меня есть следующий объект-аниматор:

val orreryAnimator = ObjectAnimator.ofObject(
            myDrawable,
            "MyCustomParameter",
            drawableEvaluator, // irrelevant
            startValues, // irrelevant 
            endValues // irrelevant
    )

Прямо сейчас "MyCustomParameter" - это жестко закодированное строковое значение, которое соответствует моему методу setMyCustomParameter.Проблема в том, что если я не хочу сопоставлять его вручную, потому что, если я случайно произвожу орфографическую ошибку, код все равно будет работать, за исключением того, что анимация не будет иметь никакого эффекта.Я хочу спросить, есть ли способ получить метод setMycustomParameter в виде строки, чтобы я мог гарантировать, что даже если позднее я изменю имя метода, код будет работать без необходимости помнить об изменении значения строки.

1 Ответ

0 голосов
/ 21 сентября 2018

Вы можете: myDrawable::setMyCustomParameter даст вам ссылку на метод с именем: myDrawable::setMyCustomParameter.name.См. Вызываемые ссылки в документации.

Также, если у вас есть getMyCustomParameter и setMyCustomParameter, вы можете изменить его на свойство с пользовательскими getter и setter :

var myCustomParameter: Type
    get() = ...
    set(value: Type) { ... }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...