static NotifyCollectionChangedEventHandler()
 {
     AbiInvokeDelegate = new Abi_Invoke(Do_Abi_Invoke);
     AbiToProjectionVftable = new global::WinRT.Interop.IDelegateVftbl
     {
         IUnknownVftbl = global::WinRT.Interop.IUnknownVftbl.AbiToProjectionVftbl,
         Invoke = Marshal.GetFunctionPointerForDelegate(AbiInvokeDelegate)
     };
     var nativeVftbl = ComWrappersSupport.AllocateVtableMemory(typeof(NotifyCollectionChangedEventHandler), Marshal.SizeOf<global::WinRT.Interop.IDelegateVftbl>());
     Marshal.StructureToPtr(AbiToProjectionVftable, nativeVftbl, false);
     AbiToProjectionVftablePtr = nativeVftbl;
 }
Пример #2
0
        static EventHandler()
        {
            AbiInvokeDelegate = global::System.Delegate.CreateDelegate(Abi_Invoke_Type, typeof(EventHandler <T>).GetMethod(nameof(Do_Abi_Invoke), BindingFlags.Static | BindingFlags.NonPublic).MakeGenericMethod(new global::System.Type[] { Marshaler <T> .AbiType })
                                                                       );
            AbiToProjectionVftable = new global::WinRT.Interop.IDelegateVftbl
            {
                IUnknownVftbl = global::WinRT.Interop.IUnknownVftbl.AbiToProjectionVftbl,
                Invoke        = Marshal.GetFunctionPointerForDelegate(AbiInvokeDelegate)
            };
            var nativeVftbl = ComWrappersSupport.AllocateVtableMemory(typeof(EventHandler <T>), Marshal.SizeOf <global::WinRT.Interop.IDelegateVftbl>());

            Marshal.StructureToPtr(AbiToProjectionVftable, nativeVftbl, false);
            AbiToProjectionVftablePtr = nativeVftbl;
        }