C# 错误中的左侧赋值

Posted

技术标签:

【中文标题】C# 错误中的左侧赋值【英文标题】:Left hand side assignment in C# error 【发布时间】:2012-07-26 12:15:55 【问题描述】:

我正在将一些 VB 代码转换为 C#。 在 VB 中,代码如下所示:

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

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

oTP.Session("SomeKey") = 5;

我收到一个编译错误,“赋值的左侧必须是变量、属性或索引器”。 在 VB 中,oTP 被声明为对象,而在 C# 中,我将其声明为动态的。 在 oTP 代码中,Session 如下所示:

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

【问题讨论】:

【参考方案1】:

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

oTP.Session["SomeKey"] = 5;

【讨论】:

以上是关于C# 错误中的左侧赋值的主要内容,如果未能解决你的问题,请参考以下文章

MVC 模型:赋值的左侧必须是变量、属性或索引器

在cshtml文件中的C#块代码之间插入html标签

为啥我从多个“if”语句中收到“无效赋值左侧”错误?

C#中的方法参数赋值

C#中的自赋值

C#中的字符串赋值