' DirectoryInfo的'是一种类型的' IO'并且不能用作表达

时间:2014-03-12 11:14:07

标签: vb.net io directoryinfo

无论我尝试什么,我都会继续收到此错误,请尝试帮助, 我正在尝试显示给驱动器的目录信息

示例:

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

谢谢!

1 个答案:

答案 0 :(得分:2)

在这里,您创建了DirectoryInfo的实例:

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

请注意,di现在的类型为DirectoryInfo

在下一行中,您尝试使用类型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)