The_Real_Black Posted February 16, 2013 at 12:44 PM Share Posted February 16, 2013 at 12:44 PM Kann man in den Bindings in IPConnection bitte nach dem Verbinden bitte in 2 Eigenschaften bitte Port und Ip Speichern? In C#: string? host { get { return ...}; } int? port{ get { return ...}; } also wenn port.HasValue = false ist, dann gibt es keinen Wert und die Connection ist nicht verbunden. Wenn der Wert gesetzt ist kann man diesen auch nochmal auslesen port.value. Beim Disconect werden diese Werte dann wieder genulled. Beim Enumerieren könnte man dann so einfacher bestimmen von welcher Connection der Call stammt. Quote Link to comment Share on other sites More sharing options...
AuronX Posted February 17, 2013 at 06:54 PM Share Posted February 17, 2013 at 06:54 PM Nullable<string> (string?) macht gar nciht so viel Sinn, weil Strings auch null sein können ;-) Ich bin abre auch dafür, dass diese Dinge per Getter verfügbar sind. Allerdings bin ich kein Freund von int? (habe sogar schonmal bool? gesehen ). Ich denke das gehört zu den Dingen die vermieden werden sollten, wenn es nicht unbedingt notwendig ist (z.B. Kompatibilität mit fremden - nicht beeinflussbaren - Interfaces). Mein Vorschlag: public int Port { get; } public string Host { get; } public int ConnectionState { get; } Bin gerade nicht in Reichweite der aktuellen Bindings und möglicherweise ist der ConnectionState schon verfügbar (und vielleicht sogar als Enum... das wäre cool, aber ist meiner Erinnerung nach nicht so). Ob man dann für Disconnected bestimmtes Verhalten garantiert kann man noch diskutieren. Im vorliegenden Fall wären ja Host: null und Port: 0 durchaus geeignet, da 0 kein gültiger Port ist. P.S.: Zum Erkennen der IPConnection würde ich in der Regel dennoch auf einen Vergleich zurückgreifen. Je nach Anwendungsfall könnte ein Dictionary hilfreich sein. (Eine Aussage die ich blauäugig treffe ohne zu wissen was du genau vor hast) Quote Link to comment Share on other sites More sharing options...
The_Real_Black Posted February 17, 2013 at 09:44 PM Author Share Posted February 17, 2013 at 09:44 PM @AuronX: Ich wollte als erstes nur den Port der Connection bekommen der Rest war Copy Paste Blödheit ^^ Ja ein "String?" ist nicht nötig da String bereits Null sein darf. Ich könnte auch mit Port 0 leben, aber bei Null Werten ist hier Wirklich nicht gesetzt gemeint. Ich sehe es hier aus einer Datenbank Sicht: Wert ist gesetzt damit ist die Verbindung offen oder es ist nicht gesetzt "null" damit ist es geschlossen. Bei Bool? und Tristate Checkboxen würde es prima passen "Tristate" ungesetzt ansonsten True oder False. Bei String stellt sich die Frage "" oder null leider ist dies für viele Datenbanken Identisch, aber wie würde man es hier dann handhaben auch auf die anderen Schnittstellen betrachtet? Mit Port 0 und Host null wäre ich auch sehr zufrieden! Quote Link to comment Share on other sites More sharing options...
AuronX Posted February 18, 2013 at 07:27 PM Share Posted February 18, 2013 at 07:27 PM @Topic: Da es sich hierbei um ein "ungültig" und nicht um ein "default" handelt wäre ich vermutlich für einen null-string, also nicht String.Empty. @tri-state/OT: Genau das war der use-case, allerdings ist das nur auf den ersten Blick cool. Am Ende hast du dann Code wie diesen: if(myTriState == true) foo; else if(myTriState == false) bar; Und vieles wird komisch und unklar ^^ Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.