c# - 有没有办法通过委托(delegate)直接调用属性 setter ?

标签 c# .net winforms delegates properties

我正在使用 Windows 窗体,并且多次遇到(据我所知)围绕 UI 组件的属性编写包装函数的必要性,以便可以通过调用从另一个线程设置它们(属性)他们的 wrapper 。

然而,有一件事并没有让我休息。属性的 setter 实际上不是在运行吗?如果是,是否可以在不诉诸编写包装器的情况下围绕它们形成一个委托(delegate),然后从另一个线程调用所述委托(delegate)?

最佳答案

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

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

关于c# - 有没有办法通过委托(delegate)直接调用属性 setter ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6016545/

相关文章:

c# - 成员 'MySql.Data.MySqlClient.MySqlException,MySql.Data, Version=6.8.8.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d' 的类型未解析

c# - 多个类中的相同代码无需继承

c# - Entity Framework ——跨多个上下文在内存中缓存一个对象

c# - 将所有匹配通配符的文件上传到 SFTP

c# - 表单之间切换

c# - 几秒钟后关闭 MessageBox

C# Listview 拖放行

.net - 最佳的.NET Web开发框架是什么?

c# - System.Threading.ThreadPool.SetMaxThreads 的默认值

C# 检测表单何时变得不集中?