接口实例化ASP .NET



接口无法实例化,而是上下文的返回类型。

context.handler返回接口的对象?

不是。它正在返回实现该接口的类的实例。如果在调试时检查返回值,则可以看到确切的返回类型 - 返回类型可以是实现接口的任何类。

这只是告诉您返回类型必须为类型IHttpHandler

更具体和可控的示例:

public interface IFoo { }
public class Foo : IFoo { }
public class Bar : IFoo { }
public class Whatever
{
    public IFoo GetAFoo(bool thing)
    {
         if (thing)
            return new Foo();
         else
            return new Bar();
    }
}

FooBar都在实现IFoo,因此IFoo返回类型的有效返回也是。

最新更新