Entwickler-Ecke
C# - Die Sprache - eierlegende Wollmilch Variable
deusr - Fr 02.03.07 19:07
Titel: eierlegende Wollmilch Variable
Hallo Leute,
ich bin gerade auf der Suche nach einer Lösung zu einem Problem. Ich möchte einer Variable den Wert einer anderen zuweisen.
Im grunde genommen ist es wirklich alles, was ich will. Ein anderes Problem ist, dass b alles mögliche sein kann. Integer, double, string, (array, bitmap). Irgendwann später will ich dann a auslesen (c=a) und c sollte = b sein.
Hat von euch jemand eine Idee, wie man so etwas am besten machen kann? Irgendwie neigt es mich dazu einfach ein Byte Array anzulegen und dort dann binär die Variable b reinzuschaufeln.
Moderiert von Christian S.: Topic aus Algorithmen, Optimierung und Assembler verschoben am Fr 02.03.2007 um 18:16
Calculon - Fr 02.03.07 19:12
Ich kenn' mich ja in C# nicht aus, aber muss man da Variablen nicht deklarieren? Wie kann es sein, dass der Typ von b nicht bekannt ist?
PS: Echt cooler Titel!
Christian S. - Fr 02.03.07 19:18
Hallo!
Prinzipiell ist in C# alles vom Typ
Object abgeleitet, das dürfte also die richtige Wahl sein.
Allerdings verlierst Du vollständig die Typensicherheit und von der Performance her dürfte es auch grottig sein. Könntest Du das, was Du machen willst, etwas genauer beschreiben? Vielleicht findet sich da eine bessere Lösung, evtl. mit
GENERICS.
Grüße
Christian
deusr - Fr 02.03.07 19:39
Also das ganze wird am Ende wahrscheinlich nicht als Anwendung laufen, sondern eine DLL Datei mit Klassen und Methoden sein. Dem Programmierer, der die DLL benutzt, soll die Möglichkeit gegeben werden, die Objekte näher zu beschreiben. Sagen wir mal ich habe ein Objekt TafelSchokolade. Der Programmierer sagt nun, dass TafelSchokolade folgende Zutaten enthällt:
80 (integer)/ "Gramm Kakao"
1.9 (double) / "Gramm Fett"
true / "Zucker"
["20°C"]["10^7η"]
["60°C"]["10^4η"] (array) / "Viskosität"
-- jetzt nur als Beispiel
Christian S. - Fr 02.03.07 19:44
Hm. Das klingt etwas knifflig.
Und Du kannst keinerlei Einschränkungen bezüglich der zu verwendenden Typen machen? Was soll die DLL denn machen?
deusr - Fr 02.03.07 19:58
Christian S. hat folgendes geschrieben: |
Und Du kannst keinerlei Einschränkungen bezüglich der zu verwendenden Typen machen? Was soll die DLL denn machen? |
Diese DLL hat nur eine einzige Aufgabe: Sie soll dem Programmierer die Arbeit erleichtern. Sie beschreibt eben das Objekt. Hat z.B. eine Methode zur Ausgabe aller notwendigen Informationen über das Objekt und andere Spielereien.
Ich würde bei den Typen ganz gerne keine Einschränkung vornehmen. Aber es werden wahrscheinlich Bool, Int, Double und String Variablen sein.
Als ehemaliger ASM Programmierer wollte ich deshalb auch den Brute Force Weg gehen und einfach den physikalischen Arbeitsspeicher an der Stelle der Variablen auslesen und die Informationen dann in ein bytes array reinschaufeln....... Und vll. den MSB noch abspeichern...
Kha - Sa 03.03.07 13:15
Das Speichern als Object sollte kein Problem sein, das Problem wird sowieso das Parsen sein. Speichern könntest du das Ganze dann in einem Dictionary<string, object>, wobei der Schlüssel dann der Eigenschaftsname ist.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!