代码无法引用本地目录

时间:2014-06-17 09:25:49

标签: c# filepath

情况是这样的:

我正在修改某人的代码以从共享路径下载图像文件。因此,该人将该段代码硬编码为@"\\" + local_path

由于预计会从共享路径\\network\bla\bla\bla进行调用,因此可以通过这种方式获取硬编码。

现在我的问题出现了,我实际上需要修改其他部分并在播放模式下测试它,然后再将其交付给实际使用。但是,我的工作准则并不是删除附加的@"\\"。因为,如果没有@"\\",路径将不会链接到共享目录,并且此更改.dll不能用于实际活动。

然而有了这个,如果我要使用播放,文件路径现在将是\\C:\temp\Images,这将是错误的。我现在的问题是,如何保持代码链接到共享路径的能力,同时创建一个本地路径,以便代码可以引用。

2 个答案:

答案 0 :(得分:0)

UNC路径\\localhost\C$\将访问本地计算机上的驱动器C:。

答案 1 :(得分:0)

最简单的解决方案是简单地提供一个标志,指示您想要创建的路径类型,例如

public string BuildPath(bool isUnc, params string[] pathParts)
{
    var path = Path.Combine(pathParts);
    return isUnc ? @"\\" + path : path;
}
...
var uncPath = BuildPath(isUnc: true, "network", "bla", "bla", "bla");
var localPath = BuildPath(isUnc: false, @"C:\", "temp", "images");