c# 清除事件绑定的函数
#region 清除事件绑定的函数
/// <summary>
/// 清除事件绑定的函数
/// </summary>
/// <param name="objectHasEvents">拥有事件的实例</param>
/// <param name="eventName">事件名称</param>
public static void ClearAllEvents(object objectHasEvents, string eventName)
{
if (objectHasEvents == null)
{
return;
}
try
{
EventInfo[] events = objectHasEvents.GetType().GetEvents(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);
if (events == null || events.Length < 1)
{
return;
}
for (int i = 0; i < events.Length; i++)
{
EventInfo ei = events[i];
if (ei.Name == eventName)
{
FieldInfo fi = ei.DeclaringType.GetField(eventName, BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);
if (fi != null)
{
fi.SetValue(objectHasEvents, null);
}
break;
}
}
}
catch
{
}
}
#endregion
以上就是C# 清除事件绑定的函数的内容,更多相关内容请关注PHP中文网(www.php.cn)!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号