J'ai écrit du code pour mon jeu qui doit exécuter une fonction de mon code python. J'utilise Ironpython pour mon projet. Cependant, quand je suis en train d'utiliser C# typage dynamique pour appeler une fonction dans le code ci-dessous, il compile, mais je reçois l'erreur suivante des Internes:Utilisation du typage dynamique C# dans Unity 5.3.1f
"Actifs/Scripts/WordSearchAlgorithm.cs (37, 29): erreur CS1502:. Le match de la meilleure méthode surchargée pour
System.Runtime.CompilerServices.CallSite, objet >> Créer (System.Runtime.CompilerServices.CallSiteBinder) » a quelques arguments non valides ""
Actif/Scripts /WordSearchAlgorithm.cs(37,29): erreur CS1503: Argument
'# 1' ne peut pas convertir l'expression 'objet' en type
'System.Runtime.CompilerServices.CallSiteBinder' ""
Actif/Scripts/WordSearchAlgorithm.cs (37,61): erreur CS0234: Le type
ou le nom d'espace de noms 'RuntimeBinder' n'existe pas dans l'espace de noms
`Microsoft .CSharp '. Vous manquez une référence d'assemblage? "
Actif/Scripts/WordSearchAlgorithm.cs (37,61): erreur CS1502: Le meilleur match de
méthode surchargée pour 'System.Runtime.CompilerServices.CallSite> .Create (System.Runtime.CompilerServices.CallSiteBinder)' a un certain arguments invalides
Je pense que mono ne supporte pas. Pourriez-vous s'il vous plaît me donner une solution pour me aider?
static public void StartSearchAlgorithm()
{
List <string> myList = new List <string>()
{
"fxie",
"amlo",
"ewbx",
"astu"
};
var ironPythonRuntime = Python.CreateRuntime();
try
{
//Load the Iron Python file/script into the memory
//Should be resolve at runtime
dynamic loadIPython = ironPythonRuntime.UseFile("C:/py.py");
//Invoke the method and print the result
loadIPython.BoggleWords(myList, loadIPython.MakeTrie("C:/words.txt")); // here is my problem to calling function from python that unity logError
// Debug.Log(string.Format("dd", loadIPython.BoggleWords(myList, loadIPython.MakeTrie("C:/words.txt"))));
}
catch (FileNotFoundException ex)
{}
}
Je suis en train de changer Mono 2.0 sous Mono 2.0 complète dans les paramètres du lecteur mais l'erreur existe encore –
Ensuite, il est pas pris en charge Mono 2.0. Voir aussi cette réponse: http://answers.unity3d.com/questions/686244/using-c-dynamic-typing-with-unity-434f1.html – Marnix
Merci Marnix pour votre réponse, j'avais déjà vu ce sujet mais comme le code au dessus. Je veux appeler ma fonction Python qui sans utiliser le typage dynamique C# ne fonctionne pas. Je ne sais pas peut-être devrait changer mon codage –