从线程内更新 UI 的传统方法是什么?
例如,我在处理用户登录的类中有一个方法。在此方法中,我想在登录过程的各个阶段以 UI(主线程)上的标签形式向用户提供反馈。
public void userLogin(User _user)
{
// 1. Navigate to site.com
// 2. Update label on UI
// 3. Attempt login
// 4. Update label on UI
// 5. Check login status
// 6. Update label on UI
}
我不想在方法中包含更新 UI 的代码,因为该类本身在其他项目中使用,并且由不同项目中的其他团队成员使用。在某些项目中,我可能决定将其保存到日志文件中进行调试,而不是更新 UI 上的标签。我不想创建任何形式的耦合。
最好的解决方案是什么?事件是要走的路吗?
顺便提一句。我正在使用 .NET 4.5 和 C# 5。