【发布时间】:2011-08-24 22:09:16
【问题描述】:
我可以在 VB.NET 中创建一个可以像这样从 C# 中使用的类吗:
myObject.Objects[index].Prop = 1234;
当然,我可以创建一个返回数组的属性。但要求是索引是从 1 开始的,而不是从 0 开始的,所以这个方法必须以某种方式映射索引:
我试图让它这样,但 C# 告诉我我不能直接调用它:
Public ReadOnly Property Objects(ByVal index As Integer) As ObjectData
Get
If (index = 0) Then
Throw New ArgumentOutOfRangeException()
End If
Return parrObjectData(index)
End Get
End Property
编辑 对不起,如果我有点不清楚:
C# 只允许我像这样调用这个方法
myObject.get_Objects(index).Prop = 1234
但不是
myObject.Objects[index].Prop = 1234;
这就是我想要达到的目标。
【问题讨论】:
-
Default是您缺少的关键字。布赖恩的回答已经涵盖了你。 -
您要求的是索引属性,这是 C# 中不直接提供的功能。
标签: c# .net vb.net indexer language-interoperability