C#控制台(静态类澄清)

C#控制台(静态类澄清),c#,static,console,C#,Static,Console,我希望我理解了静态类的概念(感谢Jon Skeet和他对我另一个问题的回答)。另外,我只是好奇为什么在MSDN上它们没有将控制台显示为典型的静态类。或者Console在这种情况下有什么特殊之处?Console是一个静态类每个应用程序只能有一个控制台。在控制台类上调用方法时,使用单个控制台类。对于任何静态类型或静态成员也是如此。在同一应用程序/应用程序域中,静态任何内容都不能有多个实例 如果您问“为什么它不是一个静态类”-它是一个静态类: public static class Console

我希望我理解了静态类的概念(感谢Jon Skeet和他对我另一个问题的回答)。另外,我只是好奇为什么在MSDN上它们没有将控制台显示为典型的静态类。或者Console在这种情况下有什么特殊之处?

Console是一个静态类每个应用程序只能有一个控制台。在控制台类上调用方法时,使用单个控制台类。对于任何静态类型或静态成员也是如此。在同一应用程序/应用程序域中,静态任何内容都不能有多个实例

如果您问“为什么它不是一个静态类”-它是一个静态类:

public static class Console
但是如果您想问,为什么不将其用作静态类的有用示例:

public static class Console
。。为什么在MSDN上他们不把控制台显示为典型的静态类

MSDN上的基本API文档(包括)侧重于每个功能的机制,以及一个小的语法和代码示例,您可以编写这些语法和代码来使用该功能。它描述了每个功能或类提供的设施。它描述了编程契约,包括特性所依赖的命名空间和程序集、成员列表、返回值、输入的预期范围、错误处理以及继承层次结构中的父类

本文档并不关注每个特性如何适应编程体系结构或编程最佳实践的生态系统。它通常不提及替代选项,或选择使用该功能所做的权衡。事实上,API文档中的许多示例都是糟糕编程实践的例子,其中一些甚至没有编译

MSDN上还有其他方面,包括体系结构问题、编程最佳实践,以及为什么某个功能对.NET framework有用的示例(例如)。也许您还没有找到(或者根本没有)一篇关于静态类、它们的用法以及框架中现有示例的文章


尽管解决了这一不足,但这似乎是一篇有用的文章,特别是如果它深入研究了使用静态类编程时容易陷入的不良实践(强耦合、测试它们的困难以及实现并发性的困难).

最初没有声明为
静态
,因为它是从.NET 1.1开始存在的,它不支持静态类,只支持静态成员。

如果我没有弄错的话,您可以有多个控制台。您可以使用新的控制台,例如,从windows应用程序中提供类似控制台的输出,该应用程序有自己的用于调试信息的控制台。我可以吗?好吧,这让我很困惑,因为我认为它是静态类
系统。Console
是一个静态类,是的。是的,这就是我的想法。我认为它比MSDN上的示例更具说明性。@Ptr。。。在MSDN上,他们有时会与其他人交谈,而不是与你和我:)MSDN上的内容表明
System.Console
不是静态的吗?@Adrew。。。Ptr抱怨控制台类没有被作为静态类型的典型示例提到。他不是说它不是静态的。@Adrew:我不是说它不是静态的。实际上,我写的这个类在我看来是一个理想的静态类,可以用来解释。