情况是这样的:
我正在修改某人的代码以从共享路径下载图像文件。因此,该人将该段代码硬编码为@"\\" + local_path
由于预计会从共享路径\\network\bla\bla\bla
进行调用,因此可以通过这种方式获取硬编码。
现在我的问题出现了,我实际上需要修改其他部分并在播放模式下测试它,然后再将其交付给实际使用。但是,我的工作准则并不是删除附加的@"\\"
。因为,如果没有@"\\"
,路径将不会链接到共享目录,并且此更改.dll不能用于实际活动。
然而有了这个,如果我要使用播放,文件路径现在将是\\C:\temp\Images
,这将是错误的。我现在的问题是,如何保持代码链接到共享路径的能力,同时创建一个本地路径,以便代码可以引用。
答案 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");