我可以从该类型的构造函数中获取类型的命名空间吗?

时间:2017-01-26 16:40:19

标签: c#

Nancy模块全部继承自public class BaseModule : NancyModule { public BaseModule : base("/someFolder") { 。要注册模块路径,请将路径作为参数提供给基础构造函数。

this.GetType().Namespace

而不是一些硬编码文件夹,我想将NancyModule构造函数传递给从派生类最多的命名空间派生的文件夹名称。在方法中,我可以使用this执行此操作,但由于我们在构造函数中,{{1}}不可用。在构造函数中,是否有某种方法可以访问正在创建的类型?

1 个答案:

答案 0 :(得分:0)

是什么让你觉得this在构造函数中不可用?

这对我来说很好用:

void Main()
{
    new Child();
}

public class Parent 
{ 
    public Parent()
    {
        Console.WriteLine(this.GetType().Namespace);
    }
}

public class Child : Parent
{
}

更新

现在我再次看一遍,我意识到你无法改变父类。但这应该有用:

public class Parent 
{ 
    public Parent(string name)
    {
        Console.WriteLine(name);
    }
}

public class Child : Parent
{
    public Child(): base(typeof(Child).Namespace)
    {

    }
}