if __name__ ==“__ main __”:C#中的等价物

时间:2010-12-15 17:07:12

标签: c# python

使用python,我可以使用if __name__ == "__main__":将模块用作库和程序。

  • 我可以在C#中模仿此功能吗?

我看到C#中的一个类可以有一个'static void Main()',但是我不确定每个类是否都可以有一个没有问题的Main()。

ADDED

/ m:CLASS_NAME是一种指定运行Main()的类的方法。

3 个答案:

答案 0 :(得分:6)

您可以使用Main()方法将C#项目编译为程序(可执行文件),并且您仍然可以将其用作库。无需特殊语法。

可以为每个类添加一个Main()方法,但我怀疑它是否有用。

.NET应用程序通常具有与Python不同的结构;试图适应相同的编程模型不太可能给你带来好的结果。

答案 1 :(得分:6)

您可以将Main方法放在任意数量的类中,尽管只有一个可以作为应用程序的入口点。 (对于会话,我经常在每个类中都有一个main方法,并在运行项目时使用帮助程序库来显示所有这些伪入口点。)

同样,您绝对可以添加对.exe程序集的引用,并将其视为库。例如,在大多数情况下,你可以使单元测试程序集像类库一样工作,但是也可以编写一个main方法,这样你就可以运行它来执行没有GUI或其他任何东西的测试。 / p>

答案 2 :(得分:1)

当多个入口点可用时,C#项目文件指定一个启动对象。

有关详细信息,请参阅this文章。