Gibt es eine elegante Möglichkeit um folgendes Problem zu lösen ?
Ich habe bool variablen:
public bool Port1
public bool Port2
public bool Port3
Diese representieren den Status von Ausgängen.
Mit einer Methode möchte ich nun die Ausgänge schalten. Allerdings möchte ich dort
die Portnummer in INT angeben:
public SetOPort (int port, bool status)
{
}
Wie bringe ich die Variable Port3 auf true mit folgendem Methodenaufruf:
SetOPort(3, true);
Hallo asharp4dan,
[Hinweis] Wie poste ich richtig? Punkt 1.1 und 1.1.1.
Verwende lieber eine Collecion bzw. Liste mit allen Ports. Die Methode rufst du dann genau so auf, wie du es auch gemacht hast. Lies dich bitte in die Grundlagen von C# ein.
zero_x
zero_x | <span style="font-size: 10;">my</span><span style="font-size: 10;">CSharp</span><span style="font-size: 10;">.de</span> - gemeinsam mehr erreichen
Für längere Zeit inaktiv.
Hallo,
zero_x hat recht, Du braucht eine Auflistung oder ein Dictionary.
So stehts übrigens auch in der [FAQ] Variablennamen zur Laufzeit zusammensetzen
Gruß, MarsStein
EDIT:
Auf Hinweis von herbivore hier noch ein paar Links, die gerade im Bezug auf Booleans hllfreich sein können, wenn man mit einem einzigen Funktionsaufruf mehrere solche Variablen ändern möchte, bzw. ein solche Lösung anders zu strukturieren:
[Artikel] Bitoperationen in C#
FlagsAttribute-Klasse
BitArray-Klasse
Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca