[英]How to pass multiple parameters as an array in a C# Azure Function?
我正在將我們的node.js Azure函數之一移植到C#,所以這是在.csx容器中運行的C#。 我在本地Windows Function仿真器中運行,並且還在Azure的Functions運行時中嘗試過此操作,兩者均顯示相同的編譯器錯誤。
我已經看到多個 其他 問題,他們提出了類似的要求,但是在.csx文件或函數運行時中運行似乎有所不同,因為這些答案均無效。
這是我正在調用的方法簽名:
DocumentClient.ExecuteStoredProcedureAsync<TValue> Method (Uri, Object[])
這是來自run.csx的工作代碼:
string param1 = "param1";
string param2 = "param2";
// object[] params = {"param1", "param2"};
var response = await client.ExecuteStoredProcedureAsync<object>(
sprocUri,
param1,
param2
);
當我嘗試將兩個參數添加到數組中並取消注釋時,行object[] params = {"param1", "param2"};
然后我從編譯器得到此錯誤:
run.csx(72,14): error CS1001: Identifier expected
run.csx(72,14): error CS1003: Syntax error, ',' expected
run.csx(72,21): error CS1002: ; expected
run.csx(72,21): error CS1525: Invalid expression term '='
run.csx(72,23): error CS1525: Invalid expression term '{'
run.csx(72,23): error CS1002: ; expected
run.csx(72,32): error CS1002: ; expected
run.csx(72,32): error CS1513: } expected
run.csx(72,42): error CS1002: ; expected
Compilation failed.
(第72行對應於數組賦值語句)
我嘗試了所有這些不同的方法來定義數組,但是每種方法我都遇到類似的錯誤:
Object[] params = {"param1", "param2"};
object[] params = new[] {"param1", "param2"};
object[] params = new[] {param1, param2};
string[] params = {"param1", "param2"};
string[] params = new string[] {"param1", "param2"};
dynamic[] params = new[] {"param1", "param2"};
需要使用不同樣式的數組定義的Azure函數是否有所不同? 《 C#開發人員參考》中沒有提及數組。
您面臨的問題是您將變量params
命名為C#中的保留字(請參閱params(C#參考) )。 嘗試使用其他名稱。
如果您真的願意使用params
,則可以使用@
前綴(可以在C#中使用)創建標識符,否則它將是保留字:
object[] @params = { param1, param2 };
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.