Autor Beitrag
deusr
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 17



BeitragVerfasst: Fr 02.03.07 19:07 
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.

ausblenden C#-Quelltext
1:
a=b					


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 user profile iconChristian S.: Topic aus Algorithmen, Optimierung und Assembler verschoben am Fr 02.03.2007 um 18:16
Calculon
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 676

Win XP Professional
Delphi 7 PE, Delphi 3 PRO
BeitragVerfasst: 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.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: 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 Suche bei Google GENERICS.

Grüße
Christian

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
deusr Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 17



BeitragVerfasst: 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.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: 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?

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
deusr Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 17



BeitragVerfasst: Fr 02.03.07 19:58 
user profile iconChristian 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: 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.