2012-01-10 8 views
0

私はいくつかのサンプルコードでプロジェクトを見ています。MembershipUser "GetUser()"はWITHパラメータをオーバーロードしていますか?

そして、WebサイトのマスターページはMembershipUser.GetUser()を呼び出します。 - カスタムタイプにキャストします。

提供されているCustomMembershipProvider.csクラスでは、元のプログラマーが、GetUser(文字列ユーザー名、bool userIsOnline)、およびGetUser(オブジェクトプロバイダーユーザーキー、bool userIsOnline)のオーバーライド関数を書きました。

しかし、ゼロまたはデフォルトの空のパラメータでGetUser()のオーバーライドを書いたことはありません..... ???

したがって、GetUserはMembershipUserのプロパティを返すだけですが、代わりにカスタムオーバーライドで書き込まれたデータを返します。これはどのように可能ですか?

私が持っている唯一の説明は、MembershipUser.GetUser()のデフォルト機能です。GetUser(username、userIsOnline)またはGetUser(providerUserKey、userisOnline)をオーバーライドします。しかし、これはどこにも書かれていません。

これは間違いありませんか?サンプルコードでこのGetUser()のオーバーライドを見つけることができないため、オーバーライドされたGetUser()には既定のパラメーターがありません。

答えて

1

はい、あります。

リフレクター

public static MembershipUser GetUser() 
{ 
    return GetUser(GetCurrentUserName(), true); 
} 
+0

ニース発見から、私はこのようなものを見つけることができ、私は疑問に思います。また、現在のユーザー名はどこから得られますか?私はそれに現在のユーザーIDを与えます。 – Dexter

+0

リフレクターをダウンロードhttp://www.reflector.net/、そのツールには必要があります –

関連する問題