Pour utiliser la réflexion dans l'application Windows Store, TypeInfo classe est utilisée à la place de la classe de type, qui est utilisé dans les applications .NET classiques.
Cependant, il est encore avec quelques restrictions:
In a Windows 8.x Store app, access to some .NET Framework types and members is restricted. For example, you cannot call .NET Framework methods that are not included in .NET for Windows 8.x Store apps, by using a MethodInfo object.
Référence: Reflection in the .NET Framework for Windows Store Apps
Un extrait de code correspondant à la vôtre est comme:
using System.Reflection; //this is required for the code to compile
var methods = itween.GetType().GetTypeInfo().DeclaredMethods;
foreach (MethodInfo mi in methods)
{
if (mi.Name == animation.ToString())
{
var parameterInfos = mi.GetParameters();
if (parameterInfos.Length == 2)
{
if (parameterInfos[0].ParameterType == typeof(GameObject) &&
parameterInfos[1].ParameterType == typeof(Hashtable))
{
mi.Invoke(this, parameters)
}
}
}
}
Notez que GetTypeInfo
est définie comme l'extension méthode, donc using System.Reflection;
est nécessaire pour que le compilateur reconnaisse cette méthode.