• R/O
  • HTTP
  • SSH
  • HTTPS

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

File Info

Rev. 86e26ecde9d36b0074e6fb8a2a2b26250bb81d51
크기 1,297 bytes
Time 2022-11-30 01:06:13
Author yoshy
Log Message

[MOD] UserDialogProxy の名前空間を UI 配下から UI.Dialog 配下に移動
[FIX] JsonHelper.ToJsonString のメソッド名が破損していた不具合を修正
[MOD] キャプション書式化機能でキャプションの取得と書式化を行う機能の区別を明確にした
[MOD] MessageRepository の基底処理を CleanAuLait 側と同様に AbstractMessageRepository クラスに分割
[ADD] CleanAuLait 側で追加された機能の取り込み(PathHelper, DateTimeHelper, ログ系)

Content

using System.IO;
using System.Linq;

namespace CleanAuLait48.Core.IO
{
    public static class PathHelper
    {
        public static readonly string RELATIVE_PATH_CURRENT = ".";
        public static readonly string RELATIVE_PATH_UPWARDS = "..";

        public static string CreateCanonicalPath(params string[] paths)
        {
            if (paths.Any(path => string.IsNullOrEmpty(path)))
            {
                return null;
            }

            return CreateCanonicalPath(Path.Combine(paths));
        }

        public static string CreateCanonicalPath(string path)
        {
            if (string.IsNullOrEmpty(path))
            {
                return null;
            }

            return Path.GetFullPath(path);
        }

        public static string EnsureLeadingDotPath(string relativePath)
        {
            return relativePath == RELATIVE_PATH_CURRENT
                    ? relativePath
                    : Path.Combine(RELATIVE_PATH_CURRENT, relativePath);
        }

        public static string EnsureEndingDirectorySeparator(string path)
        {
            if (!path.EndsWith(Path.DirectorySeparatorChar.ToString()))
            {
                return path + Path.DirectorySeparatorChar;
            }

            return path;
        }
    }
}