在.NET中,如何限制对私有方法的访问?

在.NET中,如何限制对私有方法的访问?,.net,reflection,private,intermediate-language,.net,Reflection,Private,Intermediate Language,在.NET中,私有方法和属性是由运行时强制的还是仅由编译器强制的 如果试图调用另一个对象的私有方法,编译器将抛出访问异常。如果您手动操作IL或尝试通过反射调用—您能够吗?此外,它是否因运行时版本而异(1.1 vs.2.0 vs.3.5 vs.4.0)?这是编译时限制。在所有版本的.NET中,都可以通过反射调用私有方法。从.NET4.0开始,您可以使用dynamics来执行此操作。此外,使用反射,您可以查看并使用自动属性背后的方法。不用说,这是不推荐的

在.NET中,私有方法和属性是由运行时强制的还是仅由编译器强制的


如果试图调用另一个对象的私有方法,编译器将抛出访问异常。如果您手动操作IL或尝试通过反射调用—您能够吗?此外,它是否因运行时版本而异(1.1 vs.2.0 vs.3.5 vs.4.0)?

这是编译时限制。在所有版本的.NET中,都可以通过反射调用私有方法。从.NET4.0开始,您可以使用
dynamics
来执行此操作。此外,使用反射,您可以查看并使用自动属性背后的方法。不用说,这是不推荐的