次のように、ページクラスにジェネリックスを実装したいと思います。
Public Class MyClass(Of TheClass)
Inherits System.Web.UI.Page
ただし、これを機能させるには、通常のResponse.Redirectの代わりに、クラスを(正しいジェネリッククラスタイプで)インスタンス化してページをロードできる必要があります。これを行う方法はありますか?
あなたが何をしたいのか完全に理解できるかどうかわかりません。ジェネリック ページのようなものが必要な場合は、ジェネリック 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
ジェネリック型から型を派生させるという答えは良いものです。ただし、ソリューションに実行時に決定されたタイプに基づいてページを取得することが含まれる場合は、現在の HttpApplication で PreRequestHandlerExecute イベントを処理できるはずです。
このイベントは、Request が Handler に転送される直前に呼び出されるため、ページを HttpContext.Current.Handler プロパティに挿入できると思います。その後、必要に応じてページを作成できます。