0

我正在为 MSN Messenger 编写一个即时消息库,我有一个关于引发事件的简单问题。

登录时,我应该为每个同步的用户(已经在联系人列表中)提高 UserAdded,还是应该在通过 AddUser 方法将新用户添加到联系人列表时保留 UserAdded 事件?我应该在下载用户时使用另一个事件 UserDownloaded 吗?

同样,当我调用注销时,我应该调用 UserRemoved 吗?

我希望这是有道理的。

谢谢

4

1 回答 1

4

这是一个更通用的设计问题,它可能取决于您的具体情况——例如,您打算如何使用这些事件?图书馆的用户需要什么信息?

我认为当从任何来源(本地和下载新用户)添加用户时触发事件更有用,因为您可以使用该事件作为何时需要更新用户列表的通知(对于例子)。该事件还可以携带一些YourEventArgs信息,这些信息将包含有关源的信息(本地与下载)。

在调用某些方法时触发事件可能没有那么有用(如果该方法由库的用户调用),因为库的用户可能知道他正在调用该方法(所以他不需要通知)。

于 2010-05-14T00:34:55.290 回答