我正在使用 Windows 窗体,并且多次遇到(据我所知)围绕 UI 组件的属性编写包装函数的必要性,以便可以通过调用从另一个线程设置它们(属性)他们的 wrapper 。
然而,有一件事并没有让我休息。属性的 setter 实际上不是在运行吗?如果是,是否可以在不诉诸编写包装器的情况下围绕它们形成一个委托(delegate),然后从另一个线程调用所述委托(delegate)?
最佳答案
是的,这是可能的。使用 PropertyInfo.GetSetMethod
函数检索属性的设置访问器,然后创建一个委托(delegate)来调用它。
或者更简单,您可以使用 PropertyInfo.SetValue
函数直接设置值。
关于c# - 有没有办法通过委托(delegate)直接调用属性 setter ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6016545/