[英]What type should I use to indicate an argument is a filename in C#?
我的函數需要一個文件名,以便它可以讀取和/或寫入該文件。 為此,我可以使用一個簡單的字符串
void myFunc(string filename)
但我寧願通過要求更專業的類型而不是檢測""
在方法中沒有有效的文件名而具有更多的類型安全性。
類File
不起作用,因為它是靜態的。
可以使用類FileInfo
,但我不記得我遇到過這種類型的文件名參數。
在個人項目中,我編寫了自己的類,只是檢查文件名是否格式正確等等。例如,在創建文件名時拋出異常,而不是在方法本身。
由於新項目范圍更廣,我認為最好使用通用標准,以免混淆其他用戶(或者在未來幾周內我的未來)。
您對FileInfo
思考是正確的 - 它唯一的構造函數有一個fileName參數,它會為您執行基本驗證。 來自MSDN :
public FileInfo(string fileName)
如果由於某種原因發現FileInfo不足,您可能會以更接近System.Uri的方式處理文件名。 Uri不一定總是與文件相關,但文件路徑可以是Uri的示例,而Microsoft的實現通過IsFile屬性支持它。 可以想象一個強制繼承Uri和IsFile的FileUri類。
值得一提的是,在我一直關注的大多數MSDN片段中,文件路徑和名稱只是作為字符串傳遞的。 這可能只是為了方便。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.