Laden...

Point, Size & Co aus System.Drawing oder aus System.Windows für eigene grafische Klasse verwenden?

Erstellt von Lothi vor 11 Jahren Letzter Beitrag vor 11 Jahren 822 Views
Lothi Themenstarter:in
344 Beiträge seit 2006
vor 11 Jahren
Point, Size & Co aus System.Drawing oder aus System.Windows für eigene grafische Klasse verwenden?

Hallo zusammen

Seit es WPF gibt, gibt es unterschiedliche Strukturen für Positionen und Grössen

System.Windows.Rect
System.Windows.Size
System.Windows.Point

System.Drawing.RectangleF
System.Drawing.Rectangle
+die Point und Size Strukturen

Wenn ich jetzt eine Klassenbiblithek erstellen will, welche der beiden Namespace ist sinnvoller, um die Klassen in Windows.Form und in Window einsetzen zu können.

Gruss Lothi

5.658 Beiträge seit 2006
vor 11 Jahren

Hi Lothi,

was meinst du mit welcher Namespace ist sinnvoller? Das eine brauchst du, um mit Windows Forms zu arbeiten, das andere für WPF.

Christian

Weeks of programming can save you hours of planning

49.485 Beiträge seit 2005
vor 11 Jahren

Hallo Lothi,

rein von den Namen der Namespaces klingt System.Drawing weniger proprietär. Wenn du keine eigenen Point, Size & Co Strukturen schreiben willst(*), würde ich für die Schnittstelle deiner Klassenbibliothek daher auf diese zurückgreifen. Aber bei der Implementierung der Klassenbibliothek musst du dich mit beidem herumschlagen und entsprechend konvertieren.

(*) Eigene Point, Size & Co Strukturen würden zwar das Rad neu erfinden und klingen daher erstmal unsinnig, aber damit vermeidet man, dass der Benutzer einen zusätzlichen Namespace "usen" muss, der sogar noch viele Klasse einblenden würde(**), die der Benutzer gar nicht (direkt) verwenden will. Und da solche Strukturen zudem in ein paar Zeilen zu erstellen sind, ist das durchaus eine Überlegung wert.

(**) Natürlich könnte man using-Aliase verwenden, um nur gezielt die benötigten Point, Size & Co Strukturen aus System.Drawing zu "usen", aber das bedeutet ist für jeden Benutzer zusätzlichen Aufwand. Nur einen Namespace "usen" zu müssen, ist also schon ein gewisser Komfort gegenüber den using-Aliasen.

herbivore