我有一个在其构造函数中采用 IMyDependency 的服务。IMyDependency、MyDependency 和服务都存在于同一个程序集中。MyDependency 有一个单一的、公共的、无参数的构造函数。
令我惊讶的是,这不起作用:
container.RegisterAutoWired<IMyDependency>();
它抛出一个“System.NullReferenceException”。
如果我这样做,它会起作用:
container.RegisterAutoWiredAs<MyDependency, IMyDependency>();
但是,这样做也是如此:
container.RegisterAs<MyDependency, IMyDependency>();
那么区别是什么呢?如果“自动布线”找不到具体的实现,而需要依赖的服务能否解决也无济于事,那什么是自动布线?
Funq 是否应该能够按照惯例找到您的具体实现?如果是这样,该约定是什么,如果不是同名?
谢谢。