Создать индексатор в VB.NET, который можно использовать из C #

Могу ли я создать класс в 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

ИЗМЕНИТЬ NET, который можно использовать из C # Могу ли я создать класс в VB.NET, который можно использовать из C #, например: myObject.Objects [index] .Prop = 1234; Конечно, я мог бы создать свойство, возвращающее массив. Но требование состоит в том, чтобы индекс ...

Могу ли я создать класс в 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

ИЗМЕНИТЬ NET, который можно использовать из C # Могу ли я создать класс в VB.NET, который можно использовать из C #, например: myObject.Objects [index] .Prop = 1234; Конечно, я мог бы создать свойство, возвращающее массив. Но требуется, чтобы индекс ...

Могу ли я создать класс в 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

ИЗМЕНИТЬ

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

ИЗМЕНИТЬ

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;

это то, чего я хочу достичь.

5
задан codymanix 13 May 2011 в 12:55
поделиться