Les lib à utiliser:
using System;
using System.Reflection;
Stocker la classe:
Type maClasse = typeof(MyClass);
Avoir le nom de la classe:
maClasse.Name;
Retrouver toutes les methodes de la classe (ici on ne cherche que les methodes static public):
MethodInfo[] myArrayMethodInfo = maClasse.GetMethods(BindingFlags.Static | BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly);
for (int i=0; i< myArrayMethodInfo.Length; i++)
Debug.Log(""+myArrayMethodInfo[i].Name);
Retrouver une methode par son nom et l'executer (ici la fonction est censée renvoyer une string):
MethodInfo method = maClasse.GetMethod("GetName");
if (method!=null) Debug.Log(method.Invoke(null, null).ToString());
Retrouver le nom de la fonction en cours d'execution:
object method = System.Reflection.MethodBase.GetCurrentMethod();
Debug.Log(method.ToString());
On peut faire pas mal d'autres choses tres interessantes avec cette lib.
Aucun commentaire:
Enregistrer un commentaire