Determines the difference between two Uri instances.
If the hostname and scheme of this URI instance and toUri are the same, then this method returns a string that represents a relative URI that, when appended to the current URI instance, yields the toUri parameter.
If the hostname or scheme is different, then this method returns a string that represents the toUri parameter.
The following table shows the URI instance, toUri, and the results of calling Uri.MakeRelative(Uri).
http://www.contoso.com/ |
http://www.contoso.com/test/test.htm |
test/test.htm |
http://www.contoso.com/test1/ |
http://www.contoso.com/ |
../ |
http://www.contoso.com:8000/ |
http://www.contoso.com/test/test.htm |
http://www.contoso.com/test/test.htm |
http://username@www.contoso.com/ |
http://www.contoso.com/test1/test1.txt |
test1/test1.txt |
User information, if present in the URI, is ignored.
The following example demonstrates the Uri.MakeRelative(Uri) method.
C# Example
using System; public class UriTest { public static void Main() { Uri myUri = new Uri("http://www.contoso.com/Hello%20World.htm", true); Console.WriteLine(myUri.ToString()); Console.WriteLine(myUri.MakeRelative(new Uri ("http://www.contoso.com/index.htm"))); } }
The output is
http://www.contoso.com/Hello World.htm