访问嵌套类

时间:2015-11-24 14:43:21

标签: c# class nested

我想让我的代码更容易使用,这就是我正在尝试的。

public class Engine
{
    public class FileMgr
    {

    }

}

我可以像Engine.FileMgr那样访问它,但是可以。

我希望我的课程处于单独的文件中,所以我希望它像这样

public class Engine
{
  public static FileMgr fileMgr;

}

public class FileMgr
{

}

但我不能再像Engine.FileMgr那样访问它了。

有没有更好的方法呢?

3 个答案:

答案 0 :(得分:1)

您可以将Engine类设为partial,并将FileMgr详细信息放在其中。

public partial class Engine
{
    // Engine stuff here.
}

public partial class Engine
{
    public class FileMgr
    {

    }
}

答案 1 :(得分:1)

父类型Engine现已从类Engine.FileMgr中删除,因为它不再是Engine的子类。这就像它应该是的。只需从类型名称中删除Engine.即可进行设置。

如果你真的真的想要以类名为前缀,请在两个文件中使用partialEngine

// Engine.cs
public partial class Engine
{
}

// Engine.FileMgr.cs
public partial class Engine
{
    public class FileMgr
    {

    }
}

答案 2 :(得分:1)

Engine.fileMgr现在是一个字段,不再是一个类型。所以你应该像这样使用它:

FileMgr fm = Engine.fileMgr;