C# で静的メンバー関数を記述しようとしているか、.NET Framework で、ファイル システムが指定するファイル パスをリケースする関数を見つけようとしています。
例:
string filepath = @"C:\temp.txt";
filepath = FileUtility.RecaseFilepath(filepath);
// filepath = C:\Temp.TXT
// Where the real fully qualified filepath in the NTFS volume is C:\Temp.TXT
以下のコードとその多くのバリエーションを試しましたが、まだ機能しません。一般に、Windows では大文字と小文字が区別されないことはわかっていますが、これらのファイル パスを ClearCase に渡す必要があります。ClearCase は Unix および Windows アプリケーションであるため、ファイル パスの大文字と小文字を区別します。
public static string GetProperFilePathCapitalization(string filepath)
{
    string result = "";
    try
    {
        result = Path.GetFullPath(filepath);
        DirectoryInfo dir = new DirectoryInfo(Path.GetDirectoryName(result));
        FileInfo[] fi = dir.GetFiles(Path.GetFileName(result));
        if (fi.Length > 0)
        {
            result = fi[0].FullName;
        }
    }
    catch (Exception)
    {
        result = filepath;
    }
    return result;
}