我正在寻找一种使用 TypeBuilder 从派生类中的基类调用私有(private)方法的方法。我知道这可以通过简单地通过反射调用该方法来完成,但尝试调用使用类型构建器生成的直通方法会导致 MethodAccessException。有没有人找到解决这个问题的方法?
最佳答案
不存在“问题”。你不能调用私有(private)方法——这就是为什么它们是私有(private)的。事实上,当您获得适当的信任时,您可以通过反射(reflection)来做到这一点,这实际上是一个后门,并不表明您应该能够以其他方式做到这一点。
如果可能的话,您应该重新设计以避免调用私有(private)方法。如果您绝对必须调用它,请使用反射 - 事实上,它很丑陋,表明您处于一种丑陋的情况。
关于c# - 使用 Reflection.Emit 从派生类调用 BaseClass 中的私有(private)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18342589/