C#中相当于if __name__ == "__main__": 的写法
在Python中,我可以使用 if __name__ == "__main__":
这个语句,让模块既可以当作库使用,也可以当作程序运行。
- 我能在C#中模仿这个功能吗?
我看到C#中的一个类可以有一个 'static void Main()' 方法,但我不确定每个类是否都可以没有问题地拥有一个Main()方法。
补充说明
/m:CLASS_NAME 是指定要运行哪个类的Main()方法的一种方式。
3 个回答
1
C# 项目文件在有多个入口点时,会指定一个启动对象。
想了解更多信息,可以查看 这篇文章。
6
你可以把一个C#项目编译成一个程序(可执行文件),只要里面有一个Main()方法,同时你也可以把它当作一个库来使用。没有什么特别的语法要求。
你可以在每个类里都加一个Main()方法,但我觉得这样没什么用。
.NET应用程序的结构通常和Python的结构不一样;试图把两者的编程模型搞得一样,可能不会得到好的结果。
6
你可以在很多类里面放一个Main
方法,不过只有一个类可以作为程序的入口点。比如在我做演讲的时候,我常常在每个类里都放一个main方法,然后用一个辅助库来在运行项目时展示这些伪入口点。
同样,你也可以添加一个.exe文件的引用,把它当成一个库来用。举个例子,你可以让一个单元测试的程序集像类库一样工作,但也可以写一个main方法,这样你就可以直接运行它来执行测试,而不需要图形界面之类的东西。