0
Invoke()
功能MethodInfo
對象接受參數爲object[]
。我希望能夠發送一個JSON編碼的字符串。有沒有辦法做到這一點?C#MethodInfo具有JSON參數的調用()
對此我立足礦井來自this MSDN page
....
object wsvcClass = results.CompiledAssembly.CreateInstance(serviceName);
MethodInfo mi = wsvcClass.GetType().GetMethod(methodName);
//args in this case is an object[]. any way to pass a string?
return mi.Invoke(wsvcClass, args);
我知道Newtonsoft提供了一種反序列化的字符串,但它可以這樣做,爲object[]
的代碼?還是有另一種方法來做到這一點?
有件事有關'新[] {...}'似乎並不好。即使json字段直接映射到參數名稱,它也會給出一個錯誤,說'不匹配的參數'或類似的東西。幸運的是,有一種方法可以按照[這裏]映射這些參數名稱(https://stackoverflow.com/questions/13071805/dynamic-invoke-of-a-method-using-named-parameters) – Notaras
對不起,我使用隱式類型的數組鍵入它。如果你指定了新的對象[],那就應該這樣做。更新了答案 –