相当于 C# 中的 java 包

Posted

技术标签:

【中文标题】相当于 C# 中的 java 包【英文标题】:Equivalent to java packages in C# 【发布时间】:2014-09-29 09:34:03 【问题描述】:

我一直在寻找一种在 Visual Studio Express 2013 中制作“包文件夹”的方法,我可能在 Java 中这样做的方式是一个“包”,我知道我可以制作 全新的项目 通过向导称为“Visual Studio 包项目”,但我真正想要的只是一个在类名中放一个点的~容器~!任何其他名称的文件夹!

这就是我要找的东西

这就是我的礼物

【问题讨论】:

【参考方案1】:

如果您在文件夹中创建类,则该类的命名空间(与 Java 中的包几乎相同)基于它所在的文件夹。

其实java中的包也是文件夹。

【讨论】:

嗯,我很害怕,有没有您知道的任何 VSE2013 UI 插件可以使这些文件夹与自动生成的项目文件夹“分开”? @MrHeelis - 我不确定,你在问什么。你可以让命名空间独立于它所在的文件夹,但你为什么想要这样呢? :D 我指的是能否在解决方案资源管理器中更改默认文件夹图标【参考方案2】:

只需添加一个新文件夹 - 默认情况下,新类将位于该命名空间中。例如,如果您有一个名为 Foo 的项目,并添加了一个名为 Bar 的文件夹,那么您最终会得到:

namespace Foo.Bar


在该文件夹中类的顶部。命名空间是最接近 Java 包的 C#。它们完全不一样,因为 Java 中的包也会影响访问控制 - 但它们很接近。

【讨论】:

【参考方案3】:

可以在项目根目录中创建文件夹。并且可以创建任意数量的嵌套文件夹来分类常用文件。并且可以将预期的类放在该文件夹中。这样你就可以获得 ~container~ that puts .在类中使用的命名空间中。

【讨论】:

以上是关于相当于 C# 中的 java 包的主要内容,如果未能解决你的问题,请参考以下文章

c#与java对比

Java日期时间API系列19-----Jdk8中java.time包中的新的日期时间API类,ZonedDateTime与ZoneId和LocalDateTime的关系,ZonedDateTime格

C# 中的 Java RuntimeException 等价物?

调试位于 nuget 包中的 C# 接口实现

C#中的委托,个人理解

如何从 C# 中的 TCP 数据包中获取 Http 正文消息