Метод getField
- Symbol fieldName
Вызывает геттер и возвращает зеркало результата.
Геттер может быть неявным геттером для поля или пользовательским геттером метода.
Пусть o — объект, отражаемый этим зеркалом, а f — простое имя геттера, обозначаемого fieldName.
Тогда этот метод выполнит вызов геттера o.f в области видимости, которая имеет доступ к закрытым членам o (если o — класс или библиотека) или закрытым членам класса o (в противном случае).
Если это зеркало является InstanceMirror, и fieldName обозначает метод экземпляра на его отражаемом объекте, результат вызова — зеркало экземпляра на замыкании, соответствующем этому методу.
Если это зеркало является LibraryMirror, и fieldName обозначает метод верхнего уровня в соответствующей библиотеке, результат вызова — зеркало экземпляра на замыкании, соответствующем этому методу.
Если это зеркало является ClassMirror, и fieldName обозначает статический метод в соответствующем классе, результат вызова — зеркало экземпляра на замыкании, соответствующем этому методу.
Если вызов возвращает результат r, этот метод возвращает результат вызова reflect(r).
Если вызов вызывает ошибку компиляции, эффект такой же, как если бы была встречена ошибка компиляции без использования рефлексии.
Если вызов вызывает исключение e (которое он не перехватывает), этот метод вызывает e.
Реализация
// TODO(ahe): Remove stuff about scope and private members. [fieldName] is a // capability giving access to private members. InstanceMirror getField(Symbol fieldName);
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-mirrors/ObjectMirror/getField.html