Я создал класс, который наследуется от BindingList(of T)
, и я добавил свойство
Item(indx as Integer)
, который затемняет элемент базового свойства следующим образом
<System.Reflection.DefaultMember("Item")> _
Public Class Unity(Of T As {New, Entity})
Inherits BindingList(Of T)
Implements IUnity
Public Property Item(ByVal indx As Integer) As T
Get
If indx >= Me.Count Then
Throw New ArgumentOutOfRangeException("index")
End If
If Not MyBase.Item(indx)._IsLoaded Then InitDataOfItemsInPage(indx)
Return MyBase.Item(indx)
End Get
Set(ByVal value As T)
MyBase.Item(indx) = value
End Set
End Property
......
End Class
Теперь, когда я пытаюсь получить доступ к элементу, пишу myUnity.Item(1)
все работает нормально.
Код переходит к свойству Item, делает то, что должен, и возвращает myEntity.
Но если я напишу myUnity(1)
, я получу myEntity без прохождения элемента свойства
Кто-нибудь знает почему?