如果我有
public partial class MyLittlePage: System.Web.UI.Page
{...
我已覆盖例如 OnLoad ......
我的问题:编译器在代码(反射器)中的位置创建了这个:
System.Web.UI.Page= new MyLittlePage(); ??
我想看到所有多态影响的链条.. (或者换句话说:我正在为什么虚拟函数重载 OnLoad ?)
我知道虚拟功能在控制页面上 但我不能能够看到多态创建模式:
Class1 x = new Class2();
答案 0 :(得分:1)
在ASP.NET 4的深处...
HttpApplication
使用嵌套的MaterializeHandlerExecutionStep
类从HttpContext.Handler
填充IHttpHandlerFactory
。Page
(以及实施IHttpHandler
的所有类型)的请求使用System.Web.Configuration.HandlerFactoryWrapper
的实例。HandlerFactoryWrapper.GetHandler()
依次调用HttpRuntime.CreateNonPublicInstance()
,使用Activator.CreateInstance()
来实例化该类。