访问嵌套类

本文关键字:嵌套 访问 | 更新日期: 2023-09-27 18:24:03

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

public class Engine
{
    public class FileMgr
    {
    }
}

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

我希望我的类在单独的文件中,所以我希望它像这个

public class Engine
{
  public static FileMgr fileMgr;
}
public class FileMgr
{
}

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

有更好的方法吗?

访问嵌套类

父类型Engine现在从Engine.FileMgr的类名中删除,因为它不再是Engine的子类。这就是它应该有的样子。只需从类型名称中删除Engine.,就可以设置了。

如果您真的真的非常想以类名为前缀,那么在这两个文件中使用Enginepartial类。

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

您可以使Engine类成为部分类,并将FileMgr详细信息放入其中。

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

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

FileMgr fm = Engine.fileMgr;