Есть ли способ получить доступ к специальному пути к папке, используя специальное имя папки в виде строки, используя C # - PullRequest
0 голосов
/ 21 мая 2018

У меня есть текстовое значение из файла App.Config, который я прочитал, который определяет специальную папку для использования, такую ​​как «LocalApplicationData».Я хотел бы использовать это текстовое значение для доступа к значению Environment.SpecialFolder.Я пробовал приведенный ниже код, но он не работает.Может кто-нибудь указать, что не так, или есть другой способ, который я должен попробовать?

object value = typeof(Environment.SpecialFolder).GetProperty("LocalApplicationData").GetValue(null);

Обычно возвращается специальный путь к папке со следующим утверждением:

Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)

ThisХорошо, если я заранее знаю, какую специальную папку указать.Но в этом проблемном случае специальное имя папки может иметь несколько значений и считываться из файла app.config.Это для приложения WinForms, а не веб-приложения.

Заранее спасибо.

1 Ответ

0 голосов
/ 21 мая 2018

Попробуйте:

var s = // read value from config.  Store in string
SpecialFolder sf;
if( Enum.TryParse( s, true, out sf))
{
    // success, now let's get the actual path
    var actualPath = Environment.GetFolderPath(sf)
}
...