gpt4 book ai didi

c# - 使用 MethodBuilder 生成动态 IL 时是否可以跳过可见性检查?

转载 作者:可可西里 更新时间:2023-11-01 08:12:49 25 4
gpt4 key购买 nike

当使用 DynamicMethod 生成 IL 时,如果您为 DynamicMethod constructor 中的 restrictedSkipVisibility 参数提供“true”,则可以调用方法和访问将无法访问的字段

我宁愿将动态 IL 发送到动态程序集中,这样我就可以在构建时将生成的 IL 保存到程序集中。如果我使用此方法,则必须使用 MethodBuilder 而不是 DynamicMethod。但是,我需要能够跳过可见性检查,以便在运行动态代码时不会出现 MethodAccessException。有没有办法做到这一点,如果可以的话,怎么做?

最佳答案

在动态程序集中使用 MethodBuilder 时,您必须遵守与编译器生成的程序集相同的规则。因此,程序集间可见性受制于:

请阅读文档和示例,看看它是否符合您的需求。

关于c# - 使用 MethodBuilder 生成动态 IL 时是否可以跳过可见性检查?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1494137/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com