2012-07-27 61 views
2

我将一些VB代码转换为C#。 在VB代码如下所示:C#错误中的左侧赋值

oTP.CreateObject("SomeInterop")  
oTP.Session("SomeKey") = 5 

在C#中,如果我这样做:

oTP.Session("SomeKey") = 5; 

我得到一个编译错误,“赋值的左边必须是一个变量,财产或索引器“。 在VB中,oTP被声明为一个对象,在C#中,我声明它是动态的。 在OTP代码,会话看起来是这样的:

Public Property Session(ByVal VariableName As String) As Object 
Get 
.... 
End Get 
Set(ByVal Value As Object) 
..... 
End Set 

回答

10

在C#中indexers的语法是不同的 - 你需要使用方括号:

oTP.Session["SomeKey"] = 5; 
+0

OMG,我是弱智。方括号完全有效!谢谢!!!!!! – user1175857 2012-07-27 19:16:07

相关问题