如何将函数赋值给对象
本文关键字:对象 赋值 函数 | 更新日期: 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));
}
}
请记住,您试图调用的方法必须是静态方法。