mono.cecil

    0

    1答えて

    ターゲットプログラムのILをメソッドの入口と出口点に変更できるプログラムを作成しています。 私が使用していますMono.Cecil このプログラムでは、ターゲットメソッドの先頭と最後にログステートメントを挿入します。 サンプルとして基本的なプログラムを試しました。 public class Target { // My target method. public void R

    0

    1答えて

    Mono.Cecilを使用して、ターゲットメソッドのILコードを編集して、実際のコードを編集せずにそのメソッドのエントリポイントを記録できるようにしています。 ロギング操作を実行できるメソッドにコール命令を挿入できます。 しかし、ターゲットメソッドの入力パラメータをどのように記録するのか分かりません。 要するに、ターゲットメソッドに命令を挿入するには、ILコードを変更してログを作成するか、prin

    1

    1答えて

    open System open Mono.Cecil open Mono.Cecil.Cil let myHelloWorldApp = AssemblyDefinition.CreateAssembly( new AssemblyNameDefinition("HelloWorld", new Version(1, 0, 0, 0)), "HelloWorld",

    0

    1答えて

    私はそれを行うことができますどのように public class MyClass { private class InternalClass { } } Mono.Cecilを使用して内部クラスを追加したい を追加Mono.Cecil?

    0

    1答えて

    Mono.Cecilの場合、MethodDefinitionのBodyをソースMethodDefinitionのBodyに設定するだけでも簡単です。簡単な方法については、うまくいきます。しかし、いくつかのメソッドでは、(新しいオブジェクトを初期化するために)カスタムタイプを使用するのに対し、(アセンブリを書き戻すときに例外がスローされて)動作しません。ここで 私のコードです:上記のコードはどこから

    0

    1答えて

    この単純なコードは正常に動作し、それぞれUpdate/LateUpdate/FixedUpdate関数の周りにBeginSample/EndSampleコールを追加できます。しかし、例えば条件の結果として、早期返却指示を考慮していない。 EndSampleコールがあらゆる状況下で実行されるように、早期復帰を考慮する同様の関数を書く方法を知っていますか? 私はセシルの専門家ではないことに注意してくだ

    1

    2答えて

    私はどのようにruntime locates assembliesを見て、実際にロードするのではなく、Assembly.Loadによって見つけられたアセンブリのパスを取得する方法があるかどうか疑問に思っていますか? AssemblyDefinition.ReadAssemblyからMono.Cecilまでは、アセンブリに直接パスが必要であり、それ自身のためにそれを探すことを余儀なくされることはない

    0

    1答えて

    val it : TypeReference = System.Func`2<System.Object,TResult> {ContainsGenericParameter = true; DeclaringType = null; ElementType = System.Func`2; FullName = "System.Func`2<Sy

    0

    1答えて

    は、この階層を考えてみましょう: class StrDict<T> : Dictionary<string, T> class MyDictionary : StrDict<double> 私は基本型の名前でTを交換するモノセシルを使ってタイプdoubleを取得したいです。理想的には、回避策なしでStrDict `1 <double>を直接取得したいです。 私が試した: var baseTy