EmitCalli .net 核心替代方案

EmitCalli .net core alternative

对于 netcoreapp1.0,是否有替代 .net 框架 EmitCalli 的方案

if (IntPtr.Size == 4)
    il.Emit(OpCodes.Ldc_I4, ptr.ToInt32());
else if (IntPtr.Size == 8)
    il.Emit(OpCodes.Ldc_I8, ptr.ToInt64()); 

il.EmitCalli(OpCodes.Calli, CallingConvention.Cdecl, returnType, paramTypes);

这个图书馆有你想要的吗?

https://www.nuget.org/packages/System.Reflection.Emit.ILGeneration/

包含System.Reflection.Emit.ILGenerator类型,包含函数

EmitCalli(OpCode opcode, CallingConventions callingConvention, Type returnType, Type[] parameterTypes, Type[] optionalParameterTypes)

EmitCalli 将在 .NET Core 2.1.0-preview 2 中可用