如何获得picturebox的非公开成员的价值?

Niv*_*vas 6 c#

我需要从picturebox的非公开成员中获取Image矩形的值.

如何获得这个价值?

提前致谢.

djd*_*d87 9

这是使用反射获取值的方法:

PropertyInfo pInfo = pictureBox1.GetType().GetProperty("ImageRectangle", 
    System.Reflection.BindingFlags.Public | 
    System.Reflection.BindingFlags.NonPublic | 
    System.Reflection.BindingFlags.Instance);

Rectangle rectangle = (Rectangle)pInfo.GetValue(pictureBox1, null);
Run Code Online (Sandbox Code Playgroud)

虽然,正如乔恩所说,可能有更好的方法来实现你想要做的事情.通过反射访问私人成员通常是一个非常大的代码味道.