如何将函数赋值给对象

本文关键字:对象 赋值 函数 | 更新日期: 2023-09-27 18:13:57

如何将从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 */
   }
}

如何将函数赋值给对象

如果我正确理解你的问题看起来像你正在寻找如何动态调用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));
    }
}

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