有没有一种方法可以使用 C# 使用特殊文件夹名称作为字符串来访问特殊文件夹路径

Is there a way to access a special folder path using a special folder name as a string using C#

我有一个来自我阅读的 App.Config 文件的文本值,它标识了一个要使用的特殊文件夹,例如 "LocalApplicationData"。我想使用此文本值来访问 Environment.SpecialFolder 值。我已经尝试了下面的代码语句,但它不起作用。有人可以指出哪里出了问题,或者我应该尝试其他方法吗?

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

通常会返回一个特殊的文件夹路径,并带有如下语句:

Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)

如果我事先知道要指定哪个特殊文件夹,这很好。但在这个问题案例中,特殊文件夹名称可以是多个值,并且是从 app.config 文件中读取的。这是针对 WinForms 应用程序而非 Web 应用程序的。

提前致谢。

尝试:

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)
}