Liste mit References

04/07/2008 - 11:41 von Georg | Report spam
Hallo,
ich habe folgendes Problem... Ich bin am schreiben einer Software die mit
einer hardware komuniziert. Hin und wieder gibt es sehr zeitkritische
Operationen und deshalb gibt es die Möglichkeit mehrere Kommandos an die
Hardware zu schicken und nachdem alle fertig sind, kommen die Ergebnisse
zurück.

Jetzt frage ich mich, ob es möglich ist eine Liste mit References zu haben.
Also... ich will sowas machen wie

addComand("Commando1", ref Ergebnis1)
addComand("Commando2", ref Ergebnis2)
fireCommandos();

Und jetzt soll in "Ergebnis1" und "Ergebnis2" das Ergeniss drin sein.
Das Problem... manchmal kommt ein string zurück, manchmal ein bool, manchmal
ein float... jenachdem. Und immer interessiert mich das Ergebnis auch nicht.

In der addCommand Methode will ich eine Liste haben wie: List<ref object>
Wenn die Antwort da ist würde dann diese Liste mit den Ergebnissen gefüllt
werden. Gibts irgendeine Möglichkeit sowas hinzubekommen? Oder Anregungen
mein Design komplett zu überdenken ;) ?

Lg, Georg Bachmann
 

Lesen sie die antworten

#1 Alexander Schmidt
04/07/2008 - 12:14 | Warnen spam
Hi Georg,

ich würde mal das Thema generische Typen in Verbindung mit asynchronen Aufrufen
in Betracht ziehen. Du müsstest dazu die Aufrufe in eigene Threads einpacken
und z.B. per Ereignis-Handler (Events, Delegates) den Aufrufer über die Fertigstellung
eines Arbeitsschrittes informieren. Solche Aufgaben werden darüber hinaus
in sog. Queues gespeichert. .NET liefert dazu spiezielle List-Objekte an
(Queue-Klasse). Innerhalb dieser Klasse erstellst Du generische Typen, z.B.

public class CommandClass<T>
{
private string m_strCommand;
private T m_objResult;

public string Command
{
get {}
set {}
}

public T Result
{
get {}
set {}
}
}

Diese kannst Du dann z.B. so benutzen:

CommandClass cmdThis = new CommandClass<bool>();
cmdThis.Command = "commando";
cmdThis.Result = true;

und in eine Queue-Einstellen, an deren anderen Ende ein Prozess die Arbeit
aufnimmt und per Ereignissen über Fertigstellung informiert.

Gruß,
Alexander Schmidt

Hallo,
ich habe folgendes Problem... Ich bin am schreiben einer Software die
mit
einer hardware komuniziert. Hin und wieder gibt es sehr zeitkritische
Operationen und deshalb gibt es die Möglichkeit mehrere Kommandos an
die
Hardware zu schicken und nachdem alle fertig sind, kommen die
Ergebnisse
zurück.
Jetzt frage ich mich, ob es möglich ist eine Liste mit References zu
haben. Also... ich will sowas machen wie

addComand("Commando1", ref Ergebnis1)
addComand("Commando2", ref Ergebnis2)
fireCommandos();
Und jetzt soll in "Ergebnis1" und "Ergebnis2" das Ergeniss drin sein.
Das Problem... manchmal kommt ein string zurück, manchmal ein bool,
manchmal
ein float... jenachdem. Und immer interessiert mich das Ergebnis auch
nicht.
In der addCommand Methode will ich eine Liste haben wie: List<ref
object> Wenn die Antwort da ist würde dann diese Liste mit den
Ergebnissen gefüllt werden. Gibts irgendeine Möglichkeit sowas
hinzubekommen? Oder Anregungen mein Design komplett zu überdenken ;) ?

Lg, Georg Bachmann

Ähnliche fragen