c# - 环境.SpecialFolder问题

标签 c# methods environment-variables

如何输入要替换的字符串

(Environment.SpecialFolder.ApplicationData),因为 .ApplicationData 部分需要根据传递给它的变量进行更改。

string specialFolder = ("Environment.SpecialFolder." + specialLocation);
specialLocation = "this will change depending on path location"; 
path = Path.Combine(Environment.GetFolderPath("specialFolder"),
                @""+backupPath);

希望我已经说得足够清楚了。

谢谢

最佳答案

使用Enum.TryParse就是你的答案

例如:

string s = "ApplicationData";
Environment.SpecialFolder sf;
if(Enum.TryParse<Environment.SpecialFolder>(s, true, out sf))
     Console.WriteLine(Environment.GetFolderPath(sf));

因此,您的代码可以写为:

Environment.SpecialFolder sf;
if(Enum.TryParse<Environment.SpecialFolder>(specialLocation, true, out sf))
{
    path = Path.Combine(Environment.GetFolderPath(sf), backupPath);
    .....
}

关于c# - 环境.SpecialFolder问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19876754/

相关文章:

c# - 在 AS3 中是否有等效于 C# 的#region 指令?

c# - 使用 TextBox 动态过滤名称的 DataGrid

php - 如果 CodeIgniter 方法不存在,则重定向到默认方法。

kubernetes - 如何将 kubernetes 部署/副本集的名称传递给容器?

bash - 如何全局设置Go环境变量

C# LINQ - 过滤查询

c# - WCF 服务向客户端发送数据

java - 创建一个单独的方法来从 Assets 文件夹中的子文件夹中读取文本文件

python - 类型错误 : method() takes 1 positional argument but 2 were given

docker - Docker 容器中的别名服务环境变量