1

グローバル ASAX ファイルの私のコードには、次のコードが表示されます。

Session("ErrorSource") = lastError.Source
Session("ErrorPATH") = Request.Path.ToString()

[セッション] を右クリックして [定義に移動] を選択すると、次のようになります。

Public Default Property Item(ByVal name As String) As Object
     Member of: System.Web.SessionState.HttpSessionState

上記は、私たちが持っていない理由を明確にしています

Session.Item("ErrorSource") = lastError.Source (item は Session のデフォルト プロパティであるため)

Session クラス自体が定義されている場所がわかりません。

SessionState.HttpSessionState("ErrorSource") のようなものがあると予想していました

Session.Item("ErrorSource") ではありません。では、Session はどこで定義されているのでしょうか。

4

1 に答える 1

4

Sessionは、現在開発中のクラスが継承しているように見えるオブジェクトの typeHttpSessionStateのメンバーですSystem.Web.UI.Page(継承することもできます。System.Web.UI.UserControlこれらは継承元の 2 つの主要なクラスですSession)。

Visual Studio で [定義に移動] を選択すると、そのメンバーが現在のクラスで定義されていなくても (代わりに基本クラスまたはインターフェイスで定義されている場合でも)、そのメンバーが実際に定義されている場所が検索されます。

于 2013-06-10T13:12:38.290 に答える