Я пытаюсь найти способ интерполировать строку с в аннотации, так как параметры класса аннотаций конструктора должны быть постоянными, я должен был пропустить $
, а затем заменить '\$'
с '$'
когда это мне нужно интерполировать следующий пример проясняет, что я пытаюсь сделатьInterpolate Строка в пределах класса аннотаций
import 'dart:mirrors';
void main() {
var c = new Chicken('aaaa','blue',99);
var templateValue = (reflectClass(Chicken).metadata.where((a)=>a.reflectee.runtimeType == Template).first.reflectee as Template).value;
print(interpolater.interpolate(c,templateValue));
}
class Template{
final String value;
const Template(this.value);
}
@Template('<div>name:\${context.name} color:\${context.color} age:\${context.age}</div>')
class Chicken{
String name;
String color;
int age;
Chicken(this.name,this.color,this.age);
}
class interpolater{
static String interpolate(Object context,String s){
s = s.replaceAll('\\\$', '\$');
return s;
}
}
, но это не похоже на работу, в любом случае, чтобы сделать что-то вроде этой работы?
отлично, но как насчет того, когда придет время интерполяции? – FPGA
yes thats my interolate, но ничего не происходит, он печатает строку, как это – FPGA
См. Http://stackoverflow.com/questions/11886796 –