Unsafe ... void*
-
Hallo!
Erstmals versuche ich in C# mit Pointern zu arbeiten, habe aber ein kleines Konvertierungsproblem.
Es gibt ja definierte Pointerarten, wie byte* usw. Wenn ich allerdings bestimmte Objekte als Pointer ablegen will benötigt man einen void* (stimmt doch, oder? ...)
Nun ich kann zwar ein Objekt in einen void* verwandeln, aber wie kann ich das Objekt aus dem void* wieder rekonstruieren?
unsafe { Point myPoint = new Point(1, 1); void* myFirstPointer = &myPoint; Point ret = (Point)myFirstPointer; // das und viele andere varianten // schlagen fehl ... }
Weiß jemand, wies richtig geht, oder bin ich mit dem void* auf dem falschen Dampfer?
Danke schon mal!
-
ChrisPlusPlus schrieb:
Hallo!
unsafe { Point myPoint = new Point(1, 1); void* myFirstPointer = &myPoint; Point ret = (Point)myFirstPointer; // das und viele andere varianten // schlagen fehl ... }
Weiß jemand, wies richtig geht, oder bin ich mit dem void* auf dem falschen Dampfer?
Ja, du bist mit void aufm falschen Dampfer
unsafe { Point myPoint = new Point(1, 1); Point* myFirstPointer = &myPoint; Point ret = *myFirstPointer; }