有没有一种方法可以通过委托直接调用属性设置器?

Srv*_*v19 6 .net c# delegates properties winforms

我正在使用Windows窗体,并且很多时候碰到(据我所知)必须围绕UI组件的属性编写包装函数,以便可以通过调用其包装程序从另一个线程设置它们(这些属性)。

但是,一件事并没有让我休息。属性的设置者不是在实际发挥作用吗?如果是这样,是否可以在不使用编写包装器的情况下在它们周围形成一个委托,然后从另一个线程调用该委托?

Cod*_*ray 5

是的,这是可能的。使用该PropertyInfo.GetSetMethod函数检索属性的设置访问器,然后创建一个委托来调用它。

甚至更简单,您可以使用该PropertyInfo.SetValue函数直接设置值。

  • 有什么办法可以做到_not_涉及到使用反射? (2认同)