2 konstruktoren mit gleicher parameterliste aber unterschiedlicher semantik
-
Lass die Konstruktoren weg und initialisiere die Werte im Initialisierungsblock (heisst das so? Also in {}-Klammern dahinter).
-
Erstelle Dir doch eine zusätzliche Klasse mit Nullable Properties.
MyClass mc1 = new MyClass(new SpeedMeter(){Length = 14}); MyClass mc2 = new MyClass(new SpeedMeter(){Speed = 144});
class MyClass { public MyClass(SpeedMeter speedmeter) { } } class SpeedMeter { public double? Length { get; set; } public double? Speed { get; set; } }
-
thoniel schrieb:
meine einzige idee sind statische methoden alá CreateWithSpeed.. aber das find ich recht unschön und würds nur nehmen wenn ich nix besseres finden.
Wieso ist doch in Ordnung. Schau dir mal das Fabrikmethodenmuster an.
-
danke für die antworten.
ich denke ich komm an einer zusätzlichen klasse nicht vorbei.fabrikmethoden wollte ich nicht machen, weil ich noch ähnliche klassen im system habe und ich hätte es gern das man alle klassen (gleicher art) in gleicher weise benutzen kann. sonst ist das immer so verwirrend.
-
Gab's dafür nich delegaten?
(delegaten sind ähnlich den Funktionszeigern)
-
"Delegate" ist ein englisches Wort. Die Mehrzahl ist daher "die Delegates" und nicht "die Delegaten" (*würg*).
-
Ohh ja, Entschuldige. Falscher Plural des Urenglischen Wortes, welches
aus dem Lateinischen kommt und im Deutschen nicht gibt.Ich bitte vielmals um Entschuldigung.
Und trozdem wird Delegaten benutzt kleiner Klugscheisser.
http://msdn.microsoft.com/de-de/library/ms173171(VS.80).aspx
http://openbook.galileocomputing.de/visual_basic/Kapitel_05-002.htmNur einige Beispiele.
Viel Spaß beim weiter würgen!!!
-
rofl
Ändert alles nichts daran, dass "Delegaten" einfach nur Unsinn ist. Viel Spass beim weiterhin Unsinn Reden & Schreiben!!!
-
@hustbaer: wie würdest du zu anderen teilnehmern des forums sagen: "Wenn du nichts produktives zur Problemlösung beizutragen hast, dann schreib lieber gar nichts". Eventuell solltest du dir mal an die eigene Nase fassen anstatt sich über solche Sinnlosigkeiten aufzuregen, ich dachte das wäre nicht dein Niveau
-
@Firefighter:
Naja, hier stellt sich für mich wieder die Frage: muss man jeden Scheiss kommentarlos stehen lassen, nur weil es einige als unhöflich oder nicht zum Thema passend auffassen könnte, wenn man auf einen Fehler hinweist?BTW: "Wenn du nichts produktives zur Problemlösung beizutragen hast, ..." oder Ähnliche Formulierungen schreibe ich - glaube ich - eigentlich recht selten. Zumindest viel viel viel seltener, als ich es mir denke.
-
thoniel schrieb:
hi
ich brauche 2 konstruktoren für eine klasse.der hat zB den parameter (double speed) und der andere (double length).
wie kann ich das vernünftig umgehen (ohne zB die parameter schwachsinnig in der reihenfolge zu verschieben oder eine bool einzuführen um umzuschalten).
Was ist das für eine komische Klasse, die einmal nur mit einer Geschwindigkeit und einmal nur mit einer Länge initialisiert wird? Sollte nicht immer beides gesetzt werden?