如何为对象分配函数

时间:2015-09-21 14:34:39

标签: javascript c# parsing

如何将从JSON解析的JavaScript函数作为方法分配给特定的C#对象?

我正在使用移动C#客户端,并且从服务器向我发送了一个JSON文件。我必须解析它以提取许多不同的对象,然后指定GUI然后再渲染。这些对象具有各种属性和一个用它们操作的函数。此函数基本上作为一种GUI触发器工作。我使用Jint库来使JS函数发挥其神奇作用。 从JSON文件中我可以提取并使用函数

Engine eng = new Engine();

eng.SetValue("oldValue", oldValue);
eng.SetValue("newValue", newValue);

var returnValue = eng.Execute(MethodInString).GetCompletionValue();

但是我无法知道如何声明我的C#类,所以我可以将解析后的函数传递给它的实例。

class MyGuiClass
{
 /*some properties*/
   public int number_A { get; set; }
   public int number_B { get; set; }

   public object MethodFromJSON(int oldValue, int newValue)
   {
      /* the JSON function should be assigned to this method */
   }
}

1 个答案:

答案 0 :(得分:0)

如果我理解你的问题,那么你正在寻找如何动态调用C#方法。这是你如何做到的。

void Main()
{
    var methodFromJson = "MyMethod";
    typeof(MyClass).GetMethod(methodFromJson).Invoke(null, new object [] { 42 });
}

public class MyClass
{
    public static void MyMethod(int x)
    {
        Console.WriteLine(string.Format("MyMethod. Parameter: {0}", x));
    }
}

请记住,您尝试调用的方法必须是静态方法。

相关问题