在C#中,用于轮询属性的最简单代码如下:
using System.Reflection;
// 获取要查询的属性
PropertyInfo property = typeof(YourType).GetProperty("YourProperty");
// 创建一个委托,用于获取属性的值
Delegate delegate = Delegate.CreateDelegate(typeof(Func<YourType, object>)), null, property.GetGetMethod());
// 创建一个定时器,以固定的时间间隔查询属性值
Timer timer = new Timer(delegate, null, 0, 1000);
// 启动定时器
timer.Start();
这里,我们使用Delegate.CreateDelegate
方法创建一个委托,该委托指向一个获取属性值的Func<YourType, object>
类型的委托。然后,我们创建一个Timer
对象,并使用Start
方法启动定时器。在每次定时器触发时,我们将获取属性的值,并将其作为参数传递给Func<YourType, object>
类型的委托。
领取专属 10元无门槛券
手把手带您无忧上云