Uri.MakeRelative(Uri) Uri.MakeRelative(Uri) Uri.MakeRelative(Uri) Uri.MakeRelative(Uri) Method

定义

警告

此 API 现已过时。

确定两个 Uri 实例之间的差异。Determines the difference between two Uri instances.

public:
 System::String ^ MakeRelative(Uri ^ toUri);
[System.Obsolete("The method has been deprecated. Please use MakeRelativeUri(Uri uri). http://go.microsoft.com/fwlink/?linkid=14202")]
[System.Obsolete("The method has been deprecated. Please use MakeRelativeUri(Uri uri). https://go.microsoft.com/fwlink/?linkid=14202")]
public string MakeRelative (Uri toUri);
member this.MakeRelative : Uri -> string
Public Function MakeRelative (toUri As Uri) As String

参数

toUri
Uri Uri Uri Uri

与当前 URI 进行比较的 URI。The URI to compare to the current URI.

返回

如果此 URI 实例与 toUri 的主机名和方案相同,则此方法返回一个表示相对 URI 的 String。若将此相对 URI 追加到当前 URI 实例,就可以得到 toUri 参数。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.

如果主机名或方案不同,则此方法返回一个表示 String 参数的 toUriIf the hostname or scheme is different, then this method returns a String that represents the toUri parameter.

异常

此实例代表一个相对 URI,而此方法仅对绝对 URI 有效。This instance represents a relative URI, and this method is valid only for absolute URIs.

示例

下面的示例创建两Uri个实例。The following example creates 2 Uri instances. 路径信息中的差异写入控制台。The difference in the path information is written to the console.

// Create a base Uri.
Uri^ address1 = gcnew Uri( "http://www.contoso.com/" );

// Create a new Uri from a string.
Uri^ address2 = gcnew Uri( "http://www.contoso.com/index.htm?date=today" );

// Determine the relative Uri.  
Console::WriteLine( "The difference is {0}", address1->MakeRelativeUri( address2 ) );
// Create a base Uri.
Uri address1 = new Uri("http://www.contoso.com/");

// Create a new Uri from a string.
Uri address2 = new Uri("http://www.contoso.com/index.htm?date=today"); 

// Determine the relative Uri.  
Console.WriteLine("The difference is {0}", address1.MakeRelativeUri(address2));
    ' Create a base Uri.
    Dim address1 As New Uri("http://www.contoso.com/")
    
    ' Create a new Uri from a string.
    Dim address2 As New Uri("http://www.contoso.com/index.htm?date=today")
    
    ' Determine the relative Uri.  
    Console.WriteLine("The difference is {0}", address1.MakeRelativeUri(address2))

End Sub 'SampleMakeRelative

注解

下表显示了 URI 实例、 toUri和调用MakeRelative的结果。The following table shows the URI instance, toUri, and the results of calling MakeRelative.

当前 URI 实例Current URI instance toUri 返回值Return value
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

如果在 URI 中存在, 则忽略用户信息。User information, if present in the URI, is ignored.

适用于