我在C#(旧项目)中具有一个作为服务器运行的函数,该函数接收参数byRef。 我还有另一套使用Java的Android代码,试图通过SignalR调用C#中的函数。 当我这样做时,它将在服务器上返回错误。
mHubProxy.invoke("GetHistory",new SubscriptionHandler4<Object,List<String>, String>() {
@Override
public void run(final Object o,final String s,final List<String> group,final String message) {
try {
Log.i("GetHistory", "Working");
} catch (Exception e) {
Log.i("GetHistory", "not working");
}
}
},testobject,testliststring,teststring);
这是我在调用函数时从C#收到的错误消息:
方法'Int64 GetHistory(System.Collections.Generic.List`1 [System.String] ByRef,System'的类型'System.Collections.Generic.List 1[System.String]&' cannot be used for parameter of type 'System.Collections.Generic.List
1 [System.String]'的表达。字符串ByRef)”。在System.Linq.Expressions.Expression.ValidateOneArgument处(MethodBase方法,ExpressionType nodeKind,Expression arg,ParameterInfo pi)