如果我有一个带有out参数的C#函数,从javascript调用时我无法获取out参数。这可能吗?
例如......
public class Test
{
public bool function doSomething(string txt, out string retTxt)
{
...
retTxt = "some return value";
return true;
}
}
Javascript代码..
var outStr;
var ret = testInstance.doSomething("instr", outStr);
答案 0 :(得分:1)
official msdn documentation将参数修饰符定义为“使参数通过引用传递”。通过引用传递意味着您正在传递变量的内存位置,这在客户端/服务器情况下是不可能的。
答案 1 :(得分:0)
以这种方式使用的输出参数不是一个好主意。如果你调用一个方法你会期望它完成它的工作,如果它不能抛出它,但是如果你真的需要那个bool
那么你可以将你的输出包装成一个类并返回它。在这种情况下,如果使用dot net 4.0或更高版本,则可以使用匿名类型。
public class Test
{
public object doSomething(string txt)
{
...
return new
{
text = "some return value",
success = true
};
}
}
var result = testInstance.doSomething("instr");
// result.text
// result.success