VB.NETでカスタムオブジェクトのカスタムオブジェクト/リストを作成する方法?

StackOverflow https://stackoverflow.com/questions/2125940

質問

そして、すべての項目が整数、文字列の文字列である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))
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top