繁体   English   中英

在javascript中调用不带参数的C#库函数

[英]Calling a C# library function with out parameters in 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);

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

以这种方式使用out参数不是一个好主意。 如果您调用一个方法,则希望它能够完成其工作,如果不能,则应抛出该方法,但是,如果您确实需要该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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM