【问题标题】:'DirectoryInfo' is a type in 'IO' and cannot be used as an expression'DirectoryInfo' 是 'IO' 中的一个类型,不能用作表达式
【发布时间】:2014-03-12 11:14:06
【问题描述】:

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

例子:

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

谢谢!

【问题讨论】:

    标签: vb.net io directoryinfo


    【解决方案1】:

    在这里,您创建一个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)
    

    【讨论】:

    • 谢谢,请原谅我在过去两天几乎不停歇的糟糕语法,您的解决方案有效,但只输出驱动器路径:H:\ 我需要它显示为 H:\ NTFS 500 000 000 字节
    • 改用 DriveInfo 类。有关示例,请参阅我的更新答案。
    猜你喜欢
    • 2020-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-26
    • 2019-10-30
    • 2011-01-13
    • 2013-03-15
    • 1970-01-01
    相关资源
    最近更新 更多