System.IO.Path在.NET中,使用它是非常笨拙的.在我的各种项目中,我遇到保持其要求使用重复的,繁琐,因而容易出错的代码片段相同的使用场景Path.Combine,Path.GetFileName,Path.GetDirectoryName,String.Format,等场景,如:
Package{0}.zip")\(因为它们不适用于Mono上的Linux)在开始编写我自己的PathBuilder类或类似的东西之前:C#中有这样一个好的(并且经过验证的)开源实现吗?
更新:好的,只是说明我的意思:
string zipFileName = Path.GetFileNameWithoutExtension(directoryName) + ".zip";
zipFileName = Path.Combine(
Path.GetDirectoryName(directoryName),
zipFileName);
Run Code Online (Sandbox Code Playgroud)
一个更好的流畅API可能如下所示:
Path2 directoryName = "something";
Path2 zipFileName = directoryName.Extension("zip");
Run Code Online (Sandbox Code Playgroud)
或者在构建路径时:
Path2 directoryName = "something";
Path2 directory2 = directoryName.Add("subdirectory")
.Add("Temp").Add("myzip.zip");
Run Code Online (Sandbox Code Playgroud)
代替
string directory2 = Path.Combine(Path.Combine(Path.Combine(
directoryName, "subdirectory"), "Temp"), "myzip.zip");
Run Code Online (Sandbox Code Playgroud)
我实际上在过去实现了类似的东西,但是在一个单独的项目中.我现在决定将它重新用作一个独立的C#类,在我的其他项目中在VisualStudio中添加"as link".这不是一个最干净的解决方案,但我想它会做到.如果您有兴趣,可以在这里查看代码.
| 归档时间: |
|
| 查看次数: |
4350 次 |
| 最近记录: |