private static bool TryCreateNormalizedPathArtifact <T, TTable>(string pathArtifact, TTable table, T invalidArtifact, TryCreateArtifact <T, TTable> tryCreate, out T artifact) { if (pathArtifact == null) { artifact = invalidArtifact; return(true); } string normalizedpathArtifact = pathArtifact; if (!OperatingSystemHelper.IsUnixOS) { normalizedpathArtifact = normalizedpathArtifact.ToLowerInvariant(); } return(tryCreate(table, normalizedpathArtifact, out artifact)); }
private static T ToNormalizedPathArtifact <T, TTable>(string pathArtifact, TTable table, T invalidArtifact, TryCreateArtifact <T, TTable> tryCreate) { if (!TryCreateNormalizedPathArtifact(pathArtifact, table, invalidArtifact, tryCreate, out T artifact)) { Contract.Assert(false, I($"Cannot create a '{typeof(T)}' from '{pathArtifact}'")); } return(artifact); }