private static bool ElementsAreEqual(Foo[] array, byte[] rawArray, int index)
            {
                fixed(Foo *pArray = array)
                fixed(byte *pRaw = rawArray)
                {
                    Foo *pCasted = (Foo *)pRaw;

                    Foo val1 = pArray[index];
                    Foo val2 = pCasted[index];

                    return(val1.Equals(val2));
                }
            }
Beispiel #2
0
 unsafe static void Main()
 {
     Foo  f = new Foo();
     Foo *s = &f;
 }
        public static IFoo GetProxy(this Ipc <Foo> wrapper)
        {
            Foo *linked = Memory.Link <Foo>(wrapper.Handle);

            return(new FooProxy(linked));
        }
Beispiel #4
0
 private static void CallPtrPInvoke(Foo *fi)
 {
     *fi = AliasingRetBufNative.TransposeRetBufPtr(fi);
 }
Beispiel #5
0
 public static unsafe extern Foo TransposeRetBufPtr(Foo *fi);
Beispiel #6
0
 private static void CallPtrFPtr(Foo *fi, delegate *unmanaged[Cdecl, SuppressGCTransition] < Foo *, Foo > fptr)
Beispiel #7
0
 public FooProxy(Foo *val)
 {
     _val = val;
 }