0

次のように、ページクラスにジェネリックスを実装したいと思います。

Public Class MyClass(Of TheClass)
Inherits System.Web.UI.Page

ただし、これを機能させるには、通常のResponse.Redirectの代わりに、クラスを(正しいジェネリッククラスタイプで)インスタンス化してページをロードできる必要があります。これを行う方法はありますか?

4

2 に答える 2

2

あなたが何をしたいのか完全に理解できるかどうかわかりません。ジェネリック ページのようなものが必要な場合は、ジェネリック BasePage を使用して、ジェネリック メソッドをその BasePage に配置できます。

Partial Public Class MyPage
    Inherits MyGenericBasePage(Of MyType)

End Class

Public Class MyGenericBasePage(Of T As New)
    Inherits System.Web.UI.Page

    Public Function MyGenericMethod() As T
        Return New T()
    End Function

End Class

Public Class MyType

End Class
于 2008-09-22T03:48:44.717 に答える
0

ジェネリック型から型を派生させるという答えは良いものです。ただし、ソリューションに実行時に決定されたタイプに基づいてページを取得することが含まれる場合は、現在の HttpApplication で PreRequestHandlerExecute イベントを処理できるはずです。

このイベントは、Request が Handler に転送される直前に呼び出されるため、ページを HttpContext.Current.Handler プロパティに挿入できると思います。その後、必要に応じてページを作成できます。

于 2008-09-22T04:10:50.513 に答える