2016-06-30 8 views
3

は、このライブラリはあなたが望むものを含んでいますnetcoreapp1.0EmitCalli .NETコア代替

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); 

答えて

1

EmitCalli .NETコア中盛なり2.1.0-preview2 +

4

用の.NET Framework EmitCalliへの代替はありますか?

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

それは機能を含むSystem.Reflection.Emit.ILGeneratorタイプが含ま

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

+0

CallingConventions異なっています、それはCdeclがありません。 – ptp

+0

ここでは、呼び出すネイティブ関数の宣言方法に応じて、ここに機能のギャップがあるようです。私はこのギャップを追跡するためにリポジトリに問題を提出しました:https://github.com/dotnet/corefx/issues/9800 –

+0

このPRで修正済み - https://github.com/dotnet/coreclr/pull/15040 https://github.com/dotnet/corefx/issues/9800#issuecomment-344797679 私はこれも見ています – Cronan

関連する問題