我使用 Visual Basic 已经有一段时间了,最近决定开始学习 C#,作为学习更复杂语言的一个步骤。
作为这次跳跃的一部分,我决定将一些旧的 VB 项目手动转换为 C#。我遇到的问题是转换一个具有使用带有参数/索引的属性的类的库。
在 VB 中该属性类似于以下内容:
Friend Property Aproperty(ByVal Index As Integer) As AClass
Get
Return Alist.Item(Index)
End Get
Set(ByVal value As KeyClass)
Alist.Item(Index) = value
End Set
End Property
当我使用该属性时,它将像这样使用:
Bclass.Aproperty(5) = new AClass
我想在 C# 中实现这种事情,但我一生都无法弄清楚如何做到这一点,因为 C# 似乎无法做到这种事情。
由于 C# 不支持参数化属性(这就是您所显示的),因此您需要将此代码转换为两个函数:GetAProperty(index) 和 SetAProperty(index)。
我们将 50,000 多个 LOC 应用程序从 VB 转换为 C#,由于依赖参数化属性,因此需要进行大量修改。然而,这是可行的,只是需要以不同的方式思考这样的属性。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)