关闭主连接时访问用户类的属性

时间:2011-07-16 06:30:06

标签: c# properties state messenger

我正在构建一个Messenger类库。登录后,您可以通过msgrinstance.Users访问用户对象列表集合。这些用户具有LoginName,FriendlyName,DisplayPicture等属性。

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

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

1 个答案:

答案 0 :(得分:1)

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

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

编辑:

如果一个客户端只持有一个User对象的refence,它就不会产生问题,如果没有GC收集,但它肯定会在它决定用它做某事时产生问题,所以调用一个函数,所以在您的API访问中添加错误处理。

希望这有帮助。

问候。