1

如果我有一个带有 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);
4

2 回答 2

1

msdn 官方文档将out 参数修饰符定义为“导致参数通过引用传递”。通过引用传递意味着您正在传递变量的内存位置,这在客户端/服务器情况下是不可能的。

于 2013-07-30T01:45:03.550 回答
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
于 2013-07-30T01:43:08.447 回答