2010-11-12 19 views
1

Hé, je cherchais un moyen pour que moi dans le script Lua puisse accéder aux attributs personnalisés pour une classe.Lua/LuaInterface - Comment accéder aux attributs C#?

Je sais que je peux implémenter une méthode C# normale et dans cette méthode accéder à l'attribut en utilisant la réflexion normale, puis faire un registerMethod sur l'objet Lua.

Mais dans ce cas, je ne veux pas écrire une méthode C# mais juste écrire une chaîne normale avec le code Lua et y accéder à l'attribut.

Question comment le faire? Est-ce la bonne façon de faire quelque chose comme

require 'CLRPackage' 
import "System.Reflection" 

typeOfObject = type(myClrObject) 
typeOfObject.GetCustomAttribute(...) 
-- something more... 

Des conseils? =)

Répondre

0

Je sais que c'est un peu vieux, mais j'ai pu obtenir que cela fonctionne avec quelque chose comme ceci:

> require 'CLRPackage' 
> import "System" 
> int_type = Type.GetType("System.Int32") 
> attrs = int_type:GetCustomAttributes(true) 
> for i=0,attrs.Length-1 do Console.WriteLine(attrs:GetValue(i)) end 
System.SerializableAttribute 
System.Runtime.InteropServices.ComVisibleAttribute 
+0

Thx! Je n'ai pas joué avec LUA depuis que j'ai écrit le post, mais si je le fais finalement, je vais essayer votre truc =) – Ted