Ich habe zuerst nach diesem gesucht und es gibt einige ähnliche Beiträge, aber ich konnte meine Antwort nicht finden. :(Wie überschreiben der .ToString einer Eigenschaft in einer Klasse
Können sagen, ich habe eine Klasse:.
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
ich das .ToString des Objektes NumsDrawn außer Kraft setzen möge
Wenn ich die .ToString Überschreibung in der Klasse setzte dann seine nur zwingenden die Klasse .ToString natürlich. das kann ich alle Zahlen in der Liste Ausgabe verwenden, aber ich mag die Ausgabe einer Zahl in der Auslosung ändern.
Dim MyDraw = New ND(6)
MsgBox(MyDraw.ToString)
aber was ich will, ist etwas wie das ..
MsgBox(MyDraw.NumsDrawn(1).ToString)
Danke!
Was ist falsch mit 'MyDraw.NumsDrawn (1) .ToString()'? –
Sie müssen Ihre eigene Klasse von List (Of T) ableiten. Das ist möglich. Warum Sie NumsDrawn ein Argument übergeben wollen, ist jedoch sehr schwer zu erraten. –
Ich habe tatsächlich keine Listen verwendet und das war alles als Arrays festgelegt. Ich übergebe ein Argument an Numsdrawn New, weil die Größe festgelegt werden muss und es kann jedes Mal unterschiedlich sein, ändert sich dann aber nicht. Ich werde wahrscheinlich zu Arrays zurückkehren, da ich mit ihnen etwas vertrauter bin und die Zahlen sich nicht ändern, sobald sie eingestellt sind. Die Klasse ND ist auch nur eine Unterklasse einer größeren Klasse, ich habe versucht, die Frage zu vereinfachen. y Hauptfrage ist nicht nur einfach .Tostring, es ist mehr, wie Sie eine Methode für eine Eigenschaft in einer Klasse erstellen. Ich werde daran arbeiten, einfach eine andere Klassenmethode zu erstellen und zu sehen, wo es hingeht, danke! – Konrad