访问嵌套 class

Access nested class

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

public class Engine
{
    public class FileMgr
    {

    }

}

我可以像这样访问它 Engine.FileMgr 没关系,但是。

我想要我的 类 在单独的文件中,所以我想要这样

public class Engine
{
  public static FileMgr fileMgr;

}

public class FileMgr
{

}

但我无法像 Engine.FileMgr 一样访问它了。

有更好的方法吗?

您可以制作引擎 class 部分并将 FileMgr 详细信息放入其中。

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

public partial class Engine
{
    public class FileMgr
    {

    }
}

父类型 Engine 现在已从 Engine.FileMgr 的 class 名称中删除,因为它不再是 Engine 的子 class。这是应该的。只需从类型名称中删除 Engine. 即可。

如果您真的真的很想为 class 名称添加前缀,请在两个文件中使用 Enginepartial class。

// Engine.cs
public partial class Engine
{
}

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

    }
}

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

FileMgr fm = Engine.fileMgr;