7
Haxe (yansıma API) bir alanın hemen öğren Örneğin.Bir sınıf olması
Haxe (yansıma API) bir alanın hemen öğren Örneğin.Bir sınıf olması
Derleme zamanı bilgileri olmadan çalışma zamanında yapamazsınız. Bunu RTTI veya Makrolarla yapabilirsiniz. RTTI'yi birkaç kez ayrıştırmanız gerekirse biraz daha yavaş olsa da RTTI'nin uygulanması daha kolay olacaktır.
class MyClass implements haxe.rtti.Infos {
private var num : Int;
}
ve alan türü alma:
Sınıfınız sonra olacaktı cevap
var rtti : String = untyped MyClass.__rtti;
var x = Xml.parse(rtti).firstElement();
var infos = new haxe.rtti.XmlParser().processElement(x);
switch(infos)
{
case TClassdecl(cl):
for (f in cl.fields)
{
if (f.name == "num")
{
trace(f.type);
}
}
default:
}
teşekkürler. Bu bilgiyi el ile sınıfa eklemenin bir yolu var mı (bazı gizli gizli alanlara)? XML büyük bir overkill gibi görünüyor. – vbence
evet, ancak makroları kullanmanız gerekir. Yapılandırma makrosu (http://haxe.org/manual/macros/build) – Waneck
'u kullanmanın en kolay yolu ancak xml ayrıştırma işlemini bir kere yapabilir ve sonucu statik bir alanda saklayabilir – Waneck