1

だから私は.NETでデバッグして遊んでいます。そして、dll から DynamicILInfo を使用してメソッドを呼び出そうとしています。しかし、私は何を間違っていますか?

      delegate void assinv1();
    private static void insert()
    {
        MethodInfo entryPoint = AppDomain.CurrentDomain.Load(File.ReadAllBytes(@"method.dll")).EntryPoint;
        Type[] args = new Type[] { typeof(string[]) };
        DynamicMethod dm = new DynamicMethod("assinv", null, null);
        DynamicILInfo dynamicILInfo = dm.GetDynamicILInfo();
        SignatureHelper localVarSigHelper = SignatureHelper.GetLocalVarSigHelper();
        localVarSigHelper.AddArguments(args, null, null);
        dynamicILInfo.SetLocalSignature(localVarSigHelper.GetSignature());
        dynamicILInfo.SetCode(entryPoint.GetMethodBody().GetILAsByteArray(), entryPoint.GetMethodBody().MaxStackSize);
        assinv1 d1 = dm.CreateDelegate(typeof(assinv1)) as assinv1;
        d1();
    }
    }
4

1 に答える 1