2011-07-16 5 views
1

私はMessengerクラスライブラリを構築しています。ログインすると、msgrinstance.Usersを介してユーザオブジェクトのリストにアクセスできます。これらのユーザーには、LoginName、FriendlyName、DisplayPictureなどのプロパティがあります。メイン接続が閉じられたときのユーザークラスのプロパティへのアクセス

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

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

答えて

1

任意のptopertyでコントロールを追加するのではなく、オブジェクトから情報を要求する関数にコントロールを追加するか、ログオフ後にユーザーコレクションをクリアするだけです。

また、ユーザーがログオフした後も何らかの理由でユーザーがリストしたい場合は、例外をスローせずに「無効な」値を返すよう個人的に提案します。

EDIT:

ないGCコレクションの場合、クライアントは、それが問題を作成することはできませんユーザーオブジェクトのちょうどrefenceを保持しているが、それは間違いなく、それはそれで何かをすることを決定した時点で問題を作成することができる場合ので、関数を呼び出すので、エラー処理をAPIアクセスに追加してください。

これが役に立ちます。

よろしくお願いいたします。

+0

ログオフ時にリストをクリアします。しかし、誰かが依然としてユーザオブジェクトへの参照を持つことができます。 – NoPyGod

+0

しかし、これらのユーザーオブジェクトはダミーホルダーだけであるか、またはsom関数も接続されていますか?私が言っていることは、私にとっては、エラー処理(例外など)をAPI関数に追加する方が良いことです。 – Tigran

関連する問題