2011-07-16 34 views
1

我正在构建一个Messenger类库。登录后,您可以通过msgrinstance.Users访问一组用户对象列表。这些用户具有诸如LoginName,FriendlyName,DisplayPicture等属性。主连接关闭时访问用户类的属性

如果尝试在注销后访问.Users,则会引发NotLoggedInException。对于在登录时创建的任何用户类,如果尝试访问其任何属性,您将再次获得NotLoggedInException。

这是做事的好方法吗?也许对于用户属性,我应该抛出InvalidOperationException,因为用户类不再与主Messenger类连接?

回答

1

不是在任何ptoperty中添加控件,而是在一个函数中添加一个控件,该函数从对象请求该信息,或者仅在应用程序注销后清除用户集合。

或者,如果你只是因为某种原因想要在注销后有用户列表,我个人建议不要抛出异常,但返回一些“无效”值。

编辑:

如果客户持有的只是一个用户对象时,它不能创建问题的refence,如果不是因为GC集合,但它绝对可以在它决定用它做什么了一下产生问题,所以调用一个函数,以便在您的API访问中添加错误处理。

希望这会有所帮助。

问候。

+0

我正在清除注销时的列表。但有人仍然可以参考用户对象。 – NoPyGod

+0

但是,这些用户对象只是虚拟持有者还是附加了som功能?我试着说,对我来说,最好在你的API函数中添加错误处理(异常或其他)。 – Tigran