我正在阅读用VBScript编写的客户端API,这是一个我无法理解的声明。
Foo.Bar("id") = ID
看来,Bar
是Foo
的属性,而id
稍微传递到Bar
,而我却无法得到它。
而且,如果适用,我如何将此语句转换为C#代码?
答案 0 :(得分:4)
VBScript(mis)use()索引到集合。其他 - 更体面的语言 - 为此目的使用[]。
因此,VBScript中的数组访问如下所示:
>> arrX = Array(1,2,3)
>> WScript.Echo Join(arrX)
>> arrX(1) = "replaced"
>> WScript.Echo Join(arrX)
>>
1 2 3
1 replaced 3
在您的情况下,Bar是一个字典/哈希,允许按字符串索引:
>> Set dicX = CreateObject("Scripting.Dictionary")
>> dicX("key") = "Value"
>> WScript.Echo dicX("key")
>>
Value
C#版本将使用[]:
Dictionary<string, string> dicX = new Dictionary<string, string>();
dicX["key"] = "value";
Console.WriteLine(dicX["key"]);
对不起我对Foo无法帮助你 - 你需要发布更多关于这个对象的信息。