나는 CollectionBase
에서 상속하는 클래스가 있으며 항목을 추가 할 때 컬렉션에 이미 삽입 될 키가 들어 있는지 여부를 감지하고자합니다. 만약 그렇다면 MsgBox()를 통해 경고를 보내려고합니다. 여기에 내가 컬렉션이 항목을 이미 가지고 있는지 여부를 확인하려고 추가 방법에서 VB.Net은 컬렉션의 기존 키를 확인합니다
<Serializable()> Public Class validationList
Inherits CollectionBase
Public Function Add(ByVal Item As validationItem) As Integer
MsgBox(Me.List.Contains(Item))
Return Me.List.Add(Item)
End Function
Default Public ReadOnly Property Item(ByVal index As Integer) As validationItem
Get
Return CType(List.Item(index), validationItem)
End Get
End Property
Public Sub Remove(ByVal index As Integer)
Me.List.RemoveAt(index)
End Sub
Public Function IndexOf(ByVal key As validationItem)
Return List.IndexOf(key)
End Function
Public Sub AddRange(ByVal item() As validationItem)
For counter As Integer = 0 To item.GetLength(0) - 1
List.Add(item(counter))
Next
End Sub
End Class
<Serializable()> Public Class validationItem
Private _key As validationTypes
Private _value As String
Public Enum validationTypes
man = 0
num = 1
End Enum
Public Property Value As String
Get
Return _value
End Get
Set(ByVal Value As String)
_value = Value
End Set
End Property
Public Property Key As validationTypes
Get
Return _key
End Get
Set(ByVal value As validationTypes)
_key = value
End Set
End Property
Public Sub New()
' Empty constructor is needed for serialization
End Sub
Public Sub New(ByVal k As validationTypes, ByVal v As String)
_key = k
_value = v
End Sub
End Class
Public Class textbox
Inherits System.Windows.Forms.TextBox
Private _validation As New validationList
<System.ComponentModel.DesignerSerializationVisibility(Content)>
Public Property validation As validationList
Get
Return _validation
End Get
Set(ByVal value As validationList)
_validation = value
End Set
End Property
End Class
을 시도했다 코드 &입니다. 하지만 항상
-1
을 반환합니다. 여기
컬렉션에 새 항목을 추가하는 코드입니다
Textbox1.validation.Add(New validationItem With {.Key = validationItem.validationTypes.man, .Value = "1"})
당신은 존재하는 경우 그냥 키가 존재하는지 여부를 확인 여부 만 표시해야합니다
나는 이전 질문에 제공된 대답에 따라 이것을 만들었다. 그리고 그 대답을 한 회원은 내가 더 잘했다고 언급했다. 이 컬렉션은 디자이너가 속성을 통해 노출되어 있기 때문에 사전을 불러야합니다. – codeGEN