Невозможно использовать значение объекта прямоугольника после получения этого с помощью Reflection - PullRequest
0 голосов
/ 25 апреля 2020

У меня есть внутреннее свойство Rectangle в классе DynamicButton. Я получил это свойство из другого класса, используя Reflection. Но я не могу использовать это значение для проверки границ с помощью e.Location.

public partial class Form1 : Form
{
public Form1()
{
    InitializeComponent();
}
private DynamicButton dynamicButton;
public DynamicButton DynamicButton
{
    get { return dynamicButton; }
    set { dynamicButton = value; }
}
private void button_Click(object sender, EventArgs e)
{
    DynamicButton = new DynamicButton();

    PropertyInfo bounds = DynamicButton.GetType().GetProperty("Bounds", BindingFlags.NonPublic | BindingFlags.Instance);
    var rect = bounds.GetValue(DynamicButton);

    //Here I want to check the rect contains the e.Loaction. But I cant change the rect object as Rectangle type.
    // if(rect.Contains(e.Loacation))
    // {

    // }
}
}
 public class DynamicButton
  {
    public DynamicButton()
     {
       Bounds = new Rectangle(100, 100, 150, 30); 
     }

    Internal Rectangle Bounds { get; set; }
  }

SampleLink

...