VB.NETでカスタムオブジェクトのカスタムオブジェクト/リストを作成する方法?
-
22-09-2019 - |
質問
そして、すべての項目が整数、文字列の文字列である1 -
私は2つの別々のすべての項目は、整数、文字列、ビットマップでリストを、必要とします。しかし、私はこれを行う方法がわからない、あるいはどこを見れする - 私は、カスタムオブジェクトとカスタムオブジェクトのリストにGoogleで検索しました。私は何をしようとしていることはこれです。 カスタムオブジェクト1は整数、文字列、ビットマップであります カスタムObject2には整数、文字列、文字列
1つのスレッドでは、私は(オブジェクト1の)のList1に項目を追加し、それらを処理し、(Object2にの)LIST2に結果を追加し、私はリストを見て、他のスレッドからできるようにする必要がありますしかし、と言うことでしょう私だけの整数=(私のスレッドID)は、これが可能なアイテムを与えますか?この要求に関連するだろう情報をすべてのヘルプ、あるいはリンクが参考になる?
解決
この好きですか何かます:
Public Class Type1
Private _ThreadID As Integer
Public Property ThreadID() As Integer
Get
Return _ThreadID
End Get
Set
_ThreadID = Value
End Set
End Property
Private _MyString As String
Public Property MyString() as String
Get
Return _MyString
End Get
Set
_MyString = Value
End Set
End Property
Private _MyBitmap As Bitmap
Public Property MyBitmap As Bitmap
Get
Return _MyBitmap
End Get
Set
_MyBitmap = Value
End Set
End Property
End Class
Dim list1 As New List(Of Type1)()
''# ... Add some items to the list...
''# List items with a given thread id:
Dim SomeThreadID As Integer = GetMyThreadID()
list1.Where(Function(o) o.ThreadID = SomeThreadID)
もちろん、あなたがより意味のある名前を使用することをお勧めします。マルチスレッドの側面については、一つのスレッドがそれを使用している間にすべてのスレッド間であなたのリストをロックするMonitor
クラスを使用してに見てます。
他のヒント
Private Class Object1
Public Property int() As Integer
Get
Return _int
End Get
Set(ByVal value As Integer)
_int = value
End Set
End Property
Public Property str() As String
Get
Return _str
End Get
Set(ByVal value As String)
_str = value
End Set
End Property
Public Property bmp() As Bitmap
Get
Return _bmp
End Get
Set(ByVal value As Bitmap)
_bmp = value
End Set
End Property
Friend _int As Integer
Friend _str As String
Friend _bmp As Bitmap
Public Sub New(ByVal int As Integer, ByVal str As String, ByVal bmp as Bitmap)
_int = int
_str = str
_bmp = bmp
End Sub
End Class
そして、あなたはそのようにそれを初期化することができます...
Dim obj1 as List (Of Object1)
obj1.Add(New Object1(myInt, myStr, myBmp))
所属していません StackOverflow