1

メッセンジャークラスライブラリを構築しています。ログインすると、msgrinstance.Usersを介してユーザーオブジェクトリストのコレクションにアクセスできます。これらのユーザーには、LoginName、FriendlyName、DisplayPictureなどのプロパティがあります。

ログアウト後に.Usersにアクセスしようとすると、NotLoggedInExceptionがスローされます。また、ログイン中に作成されたユーザークラスのいずれかにアクセスしようとすると、再びNotLoggedInExceptionが発生します。

これは物事を行うための良い方法ですか?おそらく、ユーザープロパティについては、ユーザークラスがメインのMessengerクラスにリンクされていないため、InvalidOperationExceptionをスローする必要がありますか?

4

1 に答える 1

1

ptopertyにコントロールを追加する代わりに、オブジェクトからその情報を要求する関数にコントロールを追加するか、アプリがログオフした後にユーザーコレクションをクリアします。

または、何らかの理由でログオフ後もユーザーリストを表示したい場合は、個人的に例外をスローせずに「無効な」値を返すことをお勧めします。

編集:

クライアントがUserオブジェクトの参照のみを保持している場合、GCコレクションの場合を除いて、問題を引き起こすことはありませんが、それを使用して何かを行うことを決定した瞬間に間違いなく問題を引き起こす可能性があるため、関数を呼び出して、エラー処理を追加しますそこで、APIアクセスについて。

お役に立てれば。

よろしく。

于 2011-07-16T06:39:53.527 に答える