0

実行時に IL コードを C# に変換できる無料のライブラリはありますか?

ありがとう、クリスチャン

編集

これが私が持っているものの例です:

私のプログラムでは、ある時点で、アセンブリにあるクラスの IL コードに似た文字列のリストがあります。

// =============== CLASS MEMBERS DECLARATION ===================

.class public auto ansi beforefieldinit Probant.Arithmetics
       extends [mscorlib]System.Object
{
  .method public hidebysig instance int32 
          Sum(int32 a,
              int32 b) cil managed
  {
    // Code size       11 (0xb)
    .maxstack  2
    .locals init ([0] int32 result,
             [1] int32 CS$1$0000)
    IL_0000:  nop
    IL_0001:  ldarg.1
    IL_0002:  ldarg.2
    IL_0003:  add
    IL_0004:  stloc.0
    IL_0005:  ldloc.0
    IL_0006:  stloc.1
    IL_0007:  br.s       IL_0009

    IL_0009:  ldloc.1
    IL_000a:  ret

この文字列の配列 (各文字列は 1 行) を取得したので、対応する C# コードを何らかの方法で生成したいと思います。

これがILSpyで可能かどうか知っている人はいますか?

4

2 に答える 2

0

私によると:

public int Sum(int a, int b)
{
    int result,CS$1$0000;
    result = a + b;
    CS$1$0000 = result;

    return CS$1$0000;
}
于 2014-06-25T12:47:00.370 に答える
0

ILSpy は、Mono.Cecil を使用して入力アセンブリを読み取り、Cecils 中間表現を操作します。

IL をバイナリではなくテキストとして持っている場合は、テキストをアセンブリに、または少なくとも Cecils 表現にアセンブルできるものを見つける必要があります。

于 2011-07-16T20:01:37.180 に答える