@@ -14,7 +14,8 @@ public interface IPath
1414 char PathSeparator { get ; }
1515 /// <inheritdoc cref="Path.VolumeSeparatorChar"/>
1616 char VolumeSeparatorChar { get ; }
17-
17+ /// <inheritdoc cref="Path.InvalidPathChars"/>
18+ char [ ] InvalidPathChars { get ; }
1819 /// <inheritdoc cref="Path.ChangeExtension"/>
1920 string ChangeExtension ( string path , string extension ) ;
2021 /// <inheritdoc cref="Path.Combine(string[])"/>
@@ -59,5 +60,19 @@ public interface IPath
5960 /// <inheritdoc cref="Path.GetRelativePath(string,string)"/>
6061 string GetRelativePath ( string relativeTo , string path ) ;
6162#endif
63+
64+ #if FEATURE_PATH_JOIN_WITH_SPAN
65+ /// <inheritdoc cref="Path.Join(ReadOnlySpan<char>,ReadOnlySpan<char>)"/>
66+ string Join ( ReadOnlySpan < char > path1 , ReadOnlySpan < char > path2 ) ;
67+
68+ /// <inheritdoc cref="Path.Join(ReadOnlySpan<char>,ReadOnlySpan<char>)"/>
69+ string Join ( ReadOnlySpan < char > path1 , ReadOnlySpan < char > path2 , ReadOnlySpan < char > path3 ) ;
70+
71+ /// <inheritdoc cref="Path.Join(ReadOnlySpan<char>,ReadOnlySpan<char>,ReadOnlySpan<char>,Span<char>,int)"/>
72+ bool TryJoin ( ReadOnlySpan < char > path1 , ReadOnlySpan < char > path2 , ReadOnlySpan < char > path3 , Span < char > destination , out int charsWritten ) ;
73+
74+ /// <inheritdoc cref="Path.Join(ReadOnlySpan<char>,ReadOnlySpan<char>,Span<char>,int)"/>
75+ bool TryJoin ( ReadOnlySpan < char > path1 , ReadOnlySpan < char > path2 , Span < char > destination , out int charsWritten ) ;
76+ #endif
6277 }
6378}
0 commit comments