Benutzer mit den meisten Antworten
Klassenbibliotheken - Eigene Property : GetAnweisung

Frage
-
Guten Tag,
ich habe vor ein Usercontrol zu machen, welches ich als Klassenbibliothek speichere. Es soll ein simpler Quader werden, da ich in einem anderen Programm einen solchen benötigen. Ich habe versucht eine Property für die Tiefe zu schreiben, nur ich weiß nicht sorecht was ich in die Get-Anweisung setzen soll.
Imports System.Windows.Forms Imports System.Drawing.Drawing2D Imports System.ComponentModel Public Class Cuboid Inherits UserControl Protected Tiefe As Integer Private Sub Cuboid_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint End Sub <Browsable(True)> _ <EditorBrowsable(EditorBrowsableState.Always)> _ Public Overridable Property Depth As Integer Get ' Return ? End Get Set(ByVal value As Integer) If value <= 1 Then Tiefe = value Else Tiefe = 10 End If End Set End Property End Class
Außerdem würde ich gerne wissen ob ich direkt in der Set-Anweisung Me.Depth = value verwenden kann , ohne externe Variable.
Danke im Vorraus
- Fabian
- Bearbeitet Fabian89 Montag, 29. Oktober 2012 14:03
Antworten
-
Hallo Fabian,
für Deine Get Anweisung machst Du einfach
Return Tiefe
zu Deiner Frage bezgl. der Set Anweisung:
würdest Du Me.Depth = value verwenden, würde sich die Set Anweisung rekursiv immer wieder aufrufen, also gar nicht gut ;-)
Hannes
If you have got questions about this, just ask.
In a perfect world,
users would never enter data in the wrong form,
files they choose to open would always exist
and code would never have bugs.
C# to VB.NET: http://www.developerfusion.com/tools/convert/csharp-to-vb/- Als Antwort markiert Fabian89 Montag, 29. Oktober 2012 14:58
-
Hallo, ja, solange bis du den Wert zur Laufzeit wieder änderst.
Wenn du natürlich nach der Initialisierung im Code, also wahrscheinlich nach dem Kontruktor den Wert wieder änderst, so ändert er sich natürlich auch wenn das Programm ausgeführt wird.
Koopakiller - http://koopakiller.ko.ohost.de/
- Bearbeitet Tom Lambert (Koopakiller)Moderator Montag, 29. Oktober 2012 14:40
- Als Antwort markiert Fabian89 Montag, 29. Oktober 2012 14:58
Alle Antworten
-
Hallo Fabian,
für Deine Get Anweisung machst Du einfach
Return Tiefe
zu Deiner Frage bezgl. der Set Anweisung:
würdest Du Me.Depth = value verwenden, würde sich die Set Anweisung rekursiv immer wieder aufrufen, also gar nicht gut ;-)
Hannes
If you have got questions about this, just ask.
In a perfect world,
users would never enter data in the wrong form,
files they choose to open would always exist
and code would never have bugs.
C# to VB.NET: http://www.developerfusion.com/tools/convert/csharp-to-vb/- Als Antwort markiert Fabian89 Montag, 29. Oktober 2012 14:58
-
Hallo Fabian,
in deinem Fall wäre
Return Tiefe
wohl das richtige. Für die Frage nach "weniger Code für Eigenschaften" siehe:
http://msdn.microsoft.com/de-de/library/dd293589.aspx
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community -
Hallo, ja, solange bis du den Wert zur Laufzeit wieder änderst.
Wenn du natürlich nach der Initialisierung im Code, also wahrscheinlich nach dem Kontruktor den Wert wieder änderst, so ändert er sich natürlich auch wenn das Programm ausgeführt wird.
Koopakiller - http://koopakiller.ko.ohost.de/
- Bearbeitet Tom Lambert (Koopakiller)Moderator Montag, 29. Oktober 2012 14:40
- Als Antwort markiert Fabian89 Montag, 29. Oktober 2012 14:58