using System; internal class CallIndirect { private unsafe void Test(IntPtr f) { ((delegate* unmanaged[Stdcall])f)(42); } private unsafe void UnmanagedDefaultCall(IntPtr f) { ((delegate* unmanaged)f)(42); } private unsafe void CustomCall(IntPtr f) { ((delegate* unmanaged[Custom])f)(42); } private unsafe void MultipleCustomCall(IntPtr f) { ((delegate* unmanaged[SuppressGCTransition, Custom])f)(42); } }