簡體   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