Using C# dynamic typing in Unity 5.3.1f

Viewed 5065

I have written code for my game that need to run a function of my python code. I am using Ironpython for my project. However, when I am trying to use C# dynamic typing to call a function in the code below, it compiles but I get the following error from the Internals:

" Assets/Scripts/WordSearchAlgorithm.cs(37,29): error CS1502: The best overloaded method match for
System.Runtime.CompilerServices.CallSite,object>>.Create(System.Runtime.CompilerServices.CallSiteBinder)' has some invalid arguments " "
Assets/Scripts/WordSearchAlgorithm.cs(37,29): error CS1503: Argument
'#1' cannot convert 'object' expression to type
'System.Runtime.CompilerServices.CallSiteBinder' " "
Assets/Scripts/WordSearchAlgorithm.cs(37,61): error CS0234: The type
or namespace name 'RuntimeBinder' does not exist in the namespace
`Microsoft.CSharp'. Are you missing an assembly reference? "
Assets/Scripts/WordSearchAlgorithm.cs(37,61): error CS1502: The best
overloaded method match for 'System.Runtime.CompilerServices.CallSite>.Create(System.Runtime.CompilerServices.CallSiteBinder)' has some invalid arguments

I think mono doesn't support this. Could you please give me a solution to help me?

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)
    {}
}
1 Answers
Related