使用javascript中的out参数调用C#库函数

时间:2013-07-30 01:38:16

标签: c# javascript

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

2 个答案:

答案 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