有没有一种方法可以使用 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)
}
我有一个来自我阅读的 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)
}