繁体   English   中英

C#(非静态)类来表示路径

[英]C# (non-static) class to represent paths

我正在寻找一个代表文件系统路径的C#类。 我想使用它(而不是字符串)作为变量和方法参数的数据类型(最主要的原因:类型安全,防连接,逻辑比较)。

  • System.IO.Path提供了我想要的大部分功能,但它是静态的。
  • 据我所知,System.IO.FileInfo执行IO操作来完成它的工作。 我只想要路径字符串的包装器。

谢谢!

可能是库NDepend.Helpers.FileDirectoryPath就是你要找的。

它提供:

  • 强类型文件/目录路径。
  • 相对/绝对路径转换。
  • 路径规范化API
  • 路径有效性检查API
  • 路径比较API
  • 路径浏览API。
  • 路径重定向API
  • 路径操作列表(TryGetCommonRootDirectory,GetListOfUniqueDirsAndUniqueFileNames,列表相等...)

那么,你要求的System.Uri 但是你想要做的事情(或者更确切地说,你应该做什么)是使用System.Path和朋友。 这是其他人所做的,这是正确和恰当的。

首先, System.IO.Pathstatic ,而不是abstract

根据您要执行的操作,您可以使用System.IO.DirectoryInfoSystem.Uri ,也可以创建在内部使用System.IO.Path的自定义类。

为System.IO.Path构建一个包装器,并将缺少的功能添加到您的包装器中。

System.IO.Path不是一个抽象类,它是一个静态类; 不同之处在于您可以使用静态Path方法来处理表示文件路径的字符串。

您还可以将System.Uri类用于某些文件路径操作,但该类实际上是针对URL而不是文件。

如果您想要花哨,或者需要将文件路径操作方法附加到特定实例,则可以向String类编写一组扩展方法,以在内部使用Path方法执行文件路径操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM