【问题标题】:Visual Studio Express 2013 - Create separate c# code file?Visual Studio Express 2013 - 创建单独的 c# 代码文件?
【发布时间】:2014-08-05 06:28:29
【问题描述】:

微软似乎没有 VS 2013 Express 论坛,所以我想在这里问一下..

我正在使用 Microsoft VS Express 2013 创建一个 C# 项目。我希望能够将whatever.cs 文件添加到项目中,这样我就可以在其中放置额外的函数,而不是在默认的Program.cs 文件中。过去,我们可以使用 #include 在 C 中导入代码文件,但 Visual Studio 中的 C# 似乎没有这样做。

我已经能够成功添加一个 .cs 文件,在其中创建一个类,然后实例化该类并从 Program.cs 中调用它的方法,但我宁愿不必实例化一个变量而必须调用像 something.MyFunction() 这样的函数只是为了执行一些存在于另一个文件中的代码。

这甚至可能吗?如果没有,有人知道为什么吗?我一直喜欢 C 语言中的#include。你可以让事情保持整洁。

【问题讨论】:

  • c# 使用 using 做与 c 中的 #include 相同的事情。但是不需要实例化的类称为static 类。 using 不是这样使用的。
  • 酷。我刚刚创建了一个。谢谢。
  • static 类非常适合解决正确的问题。但它们本质上是一个全球性的大类。这可能会让一个人陷入困境,使一个正确的懒惰代码。正如@BradleyDotNET 所说,请谨慎使用任何不是对象的解决方案,直到你把脚弄湿为止。

标签: c# visual-studio include


【解决方案1】:

添加到 Visual C# 项目的文件自动“包含”在该命名空间内的所有其他文件中。除非您更改命名空间,否则您确实不需要 需要 using 语句。因此,没有与 C/C++ 中的“#include”指令等效的指令。

现在来处理您的用例。 C# 本质上是面向对象的。不希望您创建一百万个函数并单独调用它们(就像您在 C 中所做的那样)。所以,如果你想使用多个文件(你应该这样做!)你有几个选择:

  1. 创建一个普通类(正如您已经完成的那样)并实例化它以调用其方法。这是首选方法,您应该能够为您的程序提出大量有意义的类。

  2. 创建一个static 类。这些不必实例化(您可以像 MyStaticClass.MyFunc(); 一样访问它们)。这些通常用作“帮助”类。一般来说,请谨慎使用,因为它们难以进行单元测试/依赖注入。

  3. 将您的班级标记为partial。这允许您在多个 .cs 文件上定义相同的类。同样,这应该谨慎使用(参见 Jon Skeet 的回答:https://stackoverflow.com/a/2895068/1783619

【讨论】:

  • 哇。你真的很了解你的东西。谢谢(你的)信息。很高兴知道首选方法是实例化一个类并调用其方法,因为 C# 是面向对象的。我对整个事情感觉好多了。
  • @mirk,很高兴我能提供帮助!如果我能澄清任何事情,请告诉我。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-11-25
  • 1970-01-01
  • 2013-10-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多