簡體   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