2014-03-12 21 views
-1

我不斷嘗試接收此錯誤,無論我嘗試請嘗試幫助,我試圖顯示給出驅動器的目錄信息'DirectoryInfo'是'IO'中的一個類型,不能用作表達式

例子:

C:\ NTFS 500 000 000 Bytes 

代碼:

Private Sub BtnCheckDestination_Click(sender As System.Object, e As System.EventArgs) Handles BtnCheckDestination.Click 
    Dim hdrive As Int64 
    Dim di As New IO.DirectoryInfo("H:") 

    di = IO.DirectoryInfo("H:\").ToString 

    TxtDestination.Text = (di).ToString 

謝謝!

回答

2

在這裏,你創建的DirectoryInfo一個實例:

Dim di As New IO.DirectoryInfo("H:") 

注意diDirectoryInfo類型的現在。

下一行,您嘗試使用括號使用類型DirectoryInfo爲一個表達式(這是行不通的,這就是編譯器會告訴你),你嘗試調用ToString()上:

di = IO.DirectoryInfo("H:\").ToString 

您希望在您剛創建的實例上調用ToString()。另外,您還會嘗試將di的類型更改爲string,如果您設置了OPTION STRICT OFF,則該類型將起作用,但這通常不是一種好的做法。


所以你可以使用:

Dim di = New IO.DirectoryInfo("H:\") 
TxtDestination.Text = di.ToString() 

儘管如此,看來你要尋找的DriveInfo類代替,例如:

Dim di = new DriveInfo(@"H:\"); 
TxtDestination.Text = String.Format("{0} {1} {2} Bytes", di.Name, di.DriveFormat, di.AvailableFreeSpace) 
+0

謝謝你,請原諒我糟糕的語法在過去兩天中,我一直處於這種狀態幾乎不停止,您的解決方案可以正常工作,但只能輸出驅動器路徑:H:\我希望它顯示爲H:\ NTFS 500 000 000字節 – user3410310

+0

使用DriveIn相反。查看我的更新答案的例子。 – sloth

+0

非常完美,非常感謝你 – user3410310

相關問題