如何将从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 */
}
}
答案 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));
}
}
请记住,您尝试调用的方法必须是静态方法。