类型为"目录信息"的值无法转换为"字符串"



我正在尝试在我的.exe文件所在的父文件夹中启动一个.exe文件。

不幸的是,在做时:

dir = Directory.GetParent(Directory.GetCurrentDirectory))

该程序给了我一个错误:

"目录信息"的值类型不能转换为"字符串"。

它与CurrentDirectory完美配合,但不适用于GetParent。即使我只是说:

dir = Directory.GetParent("")

我认为它们都返回相同的文件类型,但Visual Studio告诉我(在GetParent方法上着色时(GetParent返回一个DirectoryInfo值。

有没有办法将其转换为字符串,或者能够根据我的需求使用它?

Directory.GetParent方法(字符串(返回一个DirectoryInfo类实例。

我希望您可以使用 DirectoryInfo.FullName 属性(一个字符串(获取目录名称。

像这样:

dir = Directory.GetParent(Directory.GetCurrentDirectory())).FullName

Directory.GetParent 返回一个DirectoryInfo类,并且由于错误表明它不能转换为字符串。

相反,您要做的是声明一个变量来保存DirectoryInfo,然后从中访问属性,特别是 FullName 属性:

Dim dirInfo As DirectoryInfo = Directory.GetParent(Directory.GetCurrentDirectory)
Dim path As String = dirInfo.FullName

这当然可以用一个衬里来完成,但为了澄清起见,我认为它会帮助你分解它。对于单衬垫使用:

Dim dir As String = Directory.GetParent(Directory.GetCurrentDirectory).FullName

在这两种情况下,输出都是:

C:\Development\VS2013\WindowsApplication1\bin

相关内容

  • 没有找到相关文章

最新更新