南希无法解析类型时,构造函数参数

问题描述 投票:0回答:1

当我有以下代码:

public class Webserver: NancyModule
{
    public Webserver()
    {
        Post[""] = _ => 200;
    }
}

一切正常,但是当我有这个

public class Webserver: NancyModule
{
    public Webserver(string id="")
    {
        Post[""] = _ => 200;
    }
}

我得到8种内部异常,其中之一是TinyIoCResolutionException: Unable to resolve type: <namespace>.Webserver


在可能的相关问题,当我有以下的代码,我得到相同的异常:

public class Webserver<T> : NancyModule
{
    public Webserver()
    {
        Post[""] = _ => 200;
    }
}

我安装了南希版本1.4.3和安装Nancy.Hosting.Self版本1.4.1

c# .net nancy
1个回答
0
投票

你的模块必须使用应用程序的TinyIocContainer可解析。这意味着,你不能传递原始构造函数的参数为​​TinyIoc不知道如何创建它们。你传递作为参数传递给该模块本身什么都必须通过容器解析。

同样的事情会发生第二种情况。正如你所做出的模块通用,TinyIoc将不知道如何创建它。你可以创建一个抽象的通用基类的模块,但每个模块外露必须关闭这个通用类。

© www.soinside.com 2019 - 2024. All rights reserved.