我正在构建一个Messenger类库。登录后,您可以通过msgrinstance.Users访问用户对象列表集合。这些用户具有LoginName,FriendlyName,DisplayPicture等属性。
如果您在注销后尝试访问.Users,则会抛出NotLoggedInException。对于在登录时创建的任何用户类,如果您尝试访问其任何属性,您将再次获得NotLoggedInException。
这是一种很好的做事方式吗?也许对于用户属性,我应该抛出InvalidOperationException,因为用户类不再与主Messenger类链接?
答案 0 :(得分:1)
我不会在任何ptoperty中添加控件,而是在一个函数中添加一个控件,该函数从对象请求该信息,或者只是在应用程序注销后清除用户集合。
或者,如果您只是因为某些原因希望用户在注销后列出,我个人建议不要抛出异常,但返回一些“无效”值。
编辑:
如果一个客户端只持有一个User对象的refence,它就不会产生问题,如果没有GC收集,但它肯定会在它决定用它做某事时产生问题,所以调用一个函数,所以在您的API访问中添加错误处理。
希望这有帮助。
问候。