2014-03-12 3 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의 인스턴스를 생성 : di 지금 형 DirectoryInfo이다

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

하는 것으로. 다음 행에서

, 당신은 괄호를 사용하여 표현으로 유형 DirectoryInfo을 사용하려고 (작동하지 않습니다, 그 컴파일러를 알려줍니다 무엇을) 당신은에 ToString()를 호출하려고 :

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

방금 ​​작성한 인스턴스에서 ToString()을 호출하려고합니다. 또한 di의 유형을 string으로 변경하려고 시도 할 것입니다. OPTION STRICT OFF으로 설정하면 작동하지만 일반적으로 좋지 않습니다.


그래서 그냥 사용할 수 있습니다

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

감사합니다, 내 끔찍한 구문을 용서하십시오

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

그럼에도 불구하고, 당신이 예를 들어, 대신 DriveInfo 클래스 찾고있는 것 같다 나는 지난 2 일 동안 거의 멈추지 않았다. 해결책은 작동하지만 출력은 다음과 같이 드라이브 경로 만 출력한다. H : \ i H : \ NTFS와 같이 표시 할 수 없다. 500 000 000 바이트 – user3410310

+0

DriveIn fo 클래스 대신. 예를 들어 업데이트 된 답변을 참조하십시오. – sloth

+0

정말 완벽하게 감사합니다. – user3410310