2011-09-20 81 views
2

我正在使用Silverlight 4 OOB &提升信任度。System.IO.Directory.Getfiles Silverlight 4不工作

我需要獲得特定目錄&所有文件名填充的對象列表(串)

編譯器會引發對.Getfiles()方法的錯誤「未找到方法」。

Dim files() As String = System.IO.Directory.Getfiles(Path) 'this line is failing.. 

幫助!

+2

不知道你是否在你的問題中犯了一個錯誤。但方法名稱是GetFiles(string)而不是Getfiles(string)。也許它也是你的問題的解決方案 – Jehof

回答

3

GetFiles被標記爲「安全關鍵」,因此不能從你的代碼中使用。

您將需要改爲使用EnumerateFiles方法。 GetFiles是sooo .NET 1.0,EnumerateFiles是非常冷靜,即使在你想要的完整框架,避免這個舊的數組返回API,如果可以的話。

+0

下面是一個替代解決方案:Dim files = From i In Directory.EnumerateFiles(Path) – someonewhowillnotbemiss

+0

@someonewhowillnotbemiss:這與'Dim files = Directory.EnumerateFiles(路徑)'。這足以執行「For Each」。 – AnthonyWJones

+0

是的,你是對的 – someonewhowillnotbemiss

0

就我所知,您無法直接使用Silverlight OOB訪問整個硬盤。

Silverlight的網站報價:

當在受信任的環境中運行,您只能訪問文件 用戶文件夾,特別是我的文檔,MyMusic,MyPictures和 MyVideos文件夾。儘管這從安全點 來看是有意義的,但它是有限的。您想讓用戶從任何位置拖動他們的數據 。就目前而言,如果您嘗試從上述以外的位置刪除文件 ,Silverlight將拋出 安全錯誤。

請參閱此鏈接瞭解如何使用Silverlight的OOB硬盤驅動器的工作細節: http://www.silverlight.net/learn/overview/out-of-browser-applications/advanced-silverlight-out-of-browser-introduction#Exercise3

+0

嗨,無論哪種方式IO.Directory沒有GetFiles()方法 – someonewhowillnotbemiss

+0

@someonewhowillnotbemiss,我已經糾正了我的答案。 – MichaelS

+0

@MichaelS:在編譯時拋出錯誤,而不是運行時,所以硬盤訪問的限制在這裏不算。 – Jehof

相關問題