c# - 为什么 .NET System.IO.File 使用 Create/Open 而不是构造函数?

标签 c# .net oop

System.IO.File 没有构造函数。改为使用创建/打开静态方法。

为什么不使用构造函数创建或打开文件?

调用构造函数是否暗示调用构造函数的代码“拥有”对象,而对于文件之类的对象,对象只是将句柄包装到文件系统拥有的文件中,情况并非如此?这是某种 OOP 约定、.NET/C# 约定,还是纯粹是任意的?

最佳答案

File 类是 .NET Framework 1.0 版的后期添加。在 Microsoft 进行可用性研究后添加。他们邀请了以前从未使用过 .NET 的程序员,并要求他们编写使用 FileStream 和 StreamWriter 类的代码。那些有构造函数的。成功率为

所以他们想出了 File,它有一堆创建/打开文件的静态辅助方法。将它们视为工厂方法。不,您不创建文件。你用吧。查看您最喜欢的关于静态类的 C# 编程语言书籍。

关于c# - 为什么 .NET System.IO.File 使用 Create/Open 而不是构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25941360/

相关文章:

c# - 如何获取真正运行的进程名?

c# - 项目中的依赖Twilio不支持框架DNXCore,版本=v5.0

c# - 32 位 .NET 最大字节数组大小是否小于 2GB?

perl - Moo 的 MooseX::NonMoose 等价物是什么?

c# - Prism 中 CompositePresentationEvent<> 的多个参数

c# - 我如何在 C# 中为本地主机验证 url

c# - 如何从 .DOCX 文件中获取带有图像的标题文本

javascript - 有 id 和 name 的 json 字符串?使用 c 锐利

java - 创建子对象,子构造函数不使用OOP

asp.net-mvc - 单页 Web 应用程序设计的建议?