在javascript中调用一个没有参数的C#库函数

Calling a C# library function with out parameters in javascript

本文关键字:参数 库函数 一个 javascript 调用      更新时间:2023-09-26

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

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

以这种方式使用Out参数不是一个好主意。如果你调用一个方法,你希望它完成它的工作,如果它不能,它应该抛出,但是如果你真的需要bool,那么你可以将你的输出打包到一个类中并返回它。在这种情况下,如果您使用的是dotnet4.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