если у меня есть экземпляр, и я знаю, что класс экземпляра содержит статический метод с именем statFn()
, как я могу позвонить statFn()
из экземпляра?в Dart, используя Mirrors, как бы вы назвали статический метод класса из экземпляра класса?
, например,
abstract class Junk {
...
}
class Hamburger extends Junk {
static bool get lettuce => true;
...
}
class HotDog extends Junk {
static bool get lettuce => false;
...
}
Junk food; // either Hamburger or Hotdog
// how do you get lettuce of food's type?
какая клевая функция! Большое спасибо –
Когда вы конвертируете такой код в javascript tree-shaking, могут отбросить некоторые функции, потому что он не может распознавать ссылки типа 'new Symbol ('someMethod'). Чтобы предотвратить это, вы можете использовать '@ MirrorsUsed' или' @ reflectable'. Если вы получаете ошибки, такие как 'xxx не имеет метода с именем yyy 'в JavaScript, это, вероятно, причина. –
Вы бы использовали @reflectable в верхней части объявления класса? –