問題タブ [dynamicmethod]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
114 参照

c# - De-Serialization を使用して IL メソッドを C# コードに変換する

私はDynamicMethodを初めて使用するため、ダンプの質問かもしれませんので、ご案内ください。

バイナリ ファイルでシリアル化された C# メソッド ストアがあります。格納されたデータはこのようになります。

DynamicILInfo を使用して、この情報から DynamicMethod を生成しています。この IL メソッドのコーデック情報から人間が読める C# コードを取得する方法を知りたいですか?

[編集]

わかりましたので、この情報から DynamicMethod を構築し、 https: //github.com/drewnoakes/il-visualizer に示されている ILVisulizer を使用して IL コードを取得することができました

監視するために IL を送信すると、次のような命令コードが表示されます

プログラミングを使用してこのコードを c# に逆コンパイルする方法を知りたいですか?

0 投票する
1 に答える
51 参照

c# - Dynamic Method(ref object,object[] arr) の弱いデリゲートを作成する

ソースコード: https://www.pastefile.com/4mzhyg

フォーマットのデリゲートを作成しようとしています:

弱い型関数:

委任作成者:

および IL コード ジェネレーター:

私が使用しているスタックの例は、Set メソッドを使用した Vector3 です。

だから私はやっている:

実行中のデリゲートに到達することはありませんが、Delegate.CreateDelegate を呼び出すと失敗します。

次の行を参照してください: dynMethod.CreateDelegate(typeof(TDelegate));

エラーあり:

InvalidProgramException: Invalid IL code in (wrapper dynamic-method) object:MC<> (object&,object[]): IL_004f:​​ call 0x00000009 実際の IL コードが emit.call(method) でエラーを持っていることを参照していますが、ヘルパー関数を使用すると:

my.dll を生成し、ILSpy で開きます。同じ IL コードからのメソッドが問題なく生成されていることがわかります。

0 投票する
1 に答える
152 参照

c# - DynamicMethod で DynamicMethod を呼び出す方法

DynamicMethod の作成中に IL を発行して DynamicMethod を呼び出すにはどうすればよいですか?

ILGenerator.Emit(OpCodes.Callvirt, myDynamicMethod);IL を呼び出すと、MissingMethodException実行時に結果が生成されます。

この最小限のコードで問題を再現しました。