私はこれを最初に検索しましたが、同様の記事がありますが、私の答えは見つかりませんでした。 :(クラス内のプロパティの.ToStringをオーバーライドする方法
は、私は、クラスを持っているとしましょう:。
Public Class ND
Private mNumsDrawn = New List(Of Integer)
Public Sub New(ByVal vNum As Integer)
For i = 1 To vNum
mNumsDrawn.Add(0)
Next
End Sub
Public Property NumsDrawn As List(Of Integer)
Get
Return mNumsDrawn
End Get
Set(ByVal value As List(Of Integer))
mNumsDrawn = value
End Set
End Property
End Class
私は財産NumsDrawnの.ToStringを上書きしたい
私はそのだけのオーバーライド、クラスに.ToStringオーバーライドを置く場合もちろん、クラスの.ToString。私は出力にリスト内のすべての数字を、これを使用することができますが、私は引き分けで1数の出力を変更したい。
Dim MyDraw = New ND(6)
MsgBox(MyDraw.ToString)
しかし、私がしたいですこのようなもの..
MsgBox(MyDraw.NumsDrawn(1).ToString)
ありがとう!
「MyDraw.NumsDrawn(1).ToString()」の何が問題になっていますか? –
List(Of T)から独自のクラスを派生させる必要があります。それは可能です。なぜNumsDrawnに引数を渡したいのかは、推測するのが非常に難しいです。 –
私は実際に避難所を使用していましたが、以前はリストを使用していましたが、これはすべて配列として設定されていました。 Numsdrawn Newに引数を渡すのは、サイズを設定する必要があり、使用するたびに異なることがありますが、変更されないためです。私はおそらく配列に戻ってくるでしょう。なぜなら、私はそれらをもう少しよく知っていて、一度設定した数は変更されないからです。クラスNDは、より大きなクラスの単なるサブクラスでもありますが、私は質問を単純化しようとしました。主な質問は単なるものではありません.Tostringでは、クラス内のプロパティのメソッドを作成する方法が増えています。私はちょうど別のクラスの方法を作成し、それが行く場所を参照して作業します、ありがとう! – Konrad