0
Answer

struct to IntPtr?

Photo of bilnaad

bilnaad

20y
7.9k
1
Hi all, Is there a way to create an IntPtr from a struct rather then this way? ----------------------------------------------- namespace csConsole { using System; using System.Runtime.InteropServices; struct Test { public int Value; public Test(int e) {Value = e;} public override string ToString() { return string.Format("Test.Value = {0}",Value); } } class MessageTest { public unsafe static IntPtr Get(Test* t) { IntPtr ptr = new IntPtr(t); Marshal.StructureToPtr(new Test(12345) ,ptr ,true); return ptr; } public static unsafe void Main() { Test* tPtr = stackalloc Test[1]; Test d = (Test)Marshal.PtrToStructure(Get(tPtr) ,typeof(Test)); Console.WriteLine(d); Console.Read(); } } } ----------------------------------------------- This way I need unsafe context and allocate space on the stack which is only usable in the methods scope. Is there another way of creating and maintaining IntPtrs? Thanks in advance

Answers (0)