Я конвертирую приложение VB6 в VB.NET. В коде, который я конвертирую, кажется, что разработчик нашел путь приложения двумя разными способами. Однако, похоже, он ожидает, что эти два метода дадут разные результаты.
Простой вопрос:
В чем разница между вызовом этих двух строк кода:
strAppDataPath = CreateObject("Shell.Application").
NameSpace(ssfLOCALAPPDATA).Self.Path
и
strAppDataPath = App.Path
Пояснение:
Это код, о котором идет речь:
strAppDataPath = CreateObject("Shell.Application").
NameSpace(ssfLOCALAPPDATA).Self.Path
strAppDataPath = strAppDataPath & "\DataFolder\"
If (Not objFileSystem.FileExists(strAppDataPath & strAppDataFile)) Then
If (objFileSystem.FileExists(App.Path & strAppDataFile)) Then
...
End If
End If
Путь к приложению добавляется с \DataFolder\
и сохраняется в строке strAppDatapath
.
Проверяем, не существует ли файл strAppDataFile
отсутствует в strAppDatapath
. Затем следует проверить, существует ли файл в App.Path
.
Концепция того, что происходит, мне понятна: если файл не существует в подпапке, и если файл существует в App.Path
, то сделайте ...
. Чего я не понимаю, так это почему они не использовали один из методов исключительно для поиска пути к приложению.