2011-12-06 23 views

cevap

3

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: 
    } 
+0

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

+0

evet, ancak makroları kullanmanız gerekir. Yapılandırma makrosu (http://haxe.org/manual/macros/build) – Waneck

+0

'u kullanmanın en kolay yolu ancak xml ayrıştırma işlemini bir kere yapabilir ve sonucu statik bir alanda saklayabilir – Waneck

İlgili konular