观察列表(Of)添加

时间:2016-01-05 21:57:53

标签: vb.net list

我有一个List(Of customclass)。 在我的代码中的某个地方,项目会添加到此列表中,尽管它们不应该。 我的代码非常庞大,所以我无法在发生这种情况时轻松调试。 因此,我正在考虑创建一个扩展,当我不期望插入/添加时,我可以轻松地将其中断。

有人可以告诉我这是否可能,如果可以,怎么办?

我希望我能以某种方式检测添加发生的调用者(函数)。

谢谢。

1 个答案:

答案 0 :(得分:0)

我想我已经拥有它了:

Imports System.Collections.ObjectModel

Public Class clsCellListExtender

    Public Class List(Of T)
        Inherits Collection(Of T)

        Private _iID As Integer = 0

        Protected Overrides Sub InsertItem(index As Integer, item As T)
            'your checks here

            If TypeOf (item) Is clsCell Then
                _iID += 1
                Dim nCell As clsCell = TryCast(item, clsCell)
                nCell.TempID = _iID
            End If

            MyBase.InsertItem(index, item)
        End Sub

    End Class

End Class

我将我的列表声明为clsCellListExtender.List(来自clsCell)。