我正在尝试在我的.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