访问嵌套 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 名称添加前缀,请在两个文件中使用 Engine
的 partial
class。
// Engine.cs
public partial class Engine
{
}
// Engine.FileMgr.cs
public partial class Engine
{
public class FileMgr
{
}
}
Engine.fileMgr
现在是一个字段,不再是一个类型。所以你应该这样使用它:
FileMgr fm = Engine.fileMgr;
我想让我的代码更易于使用,这就是我正在尝试的。
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 名称添加前缀,请在两个文件中使用 Engine
的 partial
class。
// Engine.cs
public partial class Engine
{
}
// Engine.FileMgr.cs
public partial class Engine
{
public class FileMgr
{
}
}
Engine.fileMgr
现在是一个字段,不再是一个类型。所以你应该这样使用它:
FileMgr fm = Engine.fileMgr;