/// <summary>
 /// ファイルパスの末尾から拡張子をひとつだけ取り除いたパスを返します。
 /// </summary>
 /// <param name="path"></param>
 /// <returns></returns>
 public static IRelativeFilePath WithoutExtension(this IRelativeFilePathExt path)
 {
     return(path.PathBase.AsFilePath(path.RelativeRoute));
 }
 public static IRelativeFilePathExt Combine(this IRelativeDirectoryPath dir, IRelativeFilePathExt file)
 {
     return(CombineExt(dir, file, dir.RelativeRoute.GetFilePathWithExtension));
 }