2009-05-14 26 views
1

Uri.LocalPath的文檔沒有說明如果您將其輸入非本地路徑(如http://stackoverflow.com/)會發生什麼情況。有沒有人知道給出官方規範如何處理這個問題的源代碼?什麼是Uri.LocalPath定義與非本地路徑?

我想知道它可能有什麼樣的陷阱和角落情況,所以我不能確定我只是嘗試一些事情而已。

(交替不檢查任何人知道的一個強大的方式,如果一個URI是或不是本地的?特別是,有什麼事情我可以通過文件系統訪問)

回答

1

你違反了先決條件在一個不是「文件名」的Uri上使用它。因此,正如我所看到的那樣,它可以隨心所欲地返回。

要查看Uri是否爲文件名,請使用Uri.IsFile

+0

IsFile?這不是一個文件,而是一個目錄?或者這只是一個不太明確的名稱選擇? (我不會說不好,因爲我想不出什麼更好的:IsLocal?'\\ mtserver \ somthing'?) – BCS

+1

請閱讀文檔,而不只是方法名稱(「獲取一個值,指示是否指定Uri是一個文件URI。「)。文件URI意味着它使用文件方案。它與什麼樣的資源(文件,目錄,fifo等)無關。 –

+0

new Uri(@「\\ mtserver \ somthing」)。IsFile返回true,因爲規範化(對file:// mtserver/something)是在構造函數中完成的。 –