Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

Uri::IsBaseOf Method

Determines whether the current Uri instance is a base of the specified Uri instance.

Namespace:  System
Assembly:  System (in System.dll)

public:
bool IsBaseOf(
	Uri^ uri
)

Parameters

uri
Type: System::Uri

The specified Uri instance to test.

Return Value

Type: System::Boolean
true if the current Uri instance is a base of uri; otherwise, false.

ExceptionCondition
ArgumentNullException

uri is nullptr.

IsBaseOf is used to compare the current Uri instance to a specified Uri to determine whether this URI is a base for the specified Uri. When comparing two Uri objects to determine a base relationship, the user information (UserInfo) is not evaluated. When comparing two URIs (uri1 and uri2), uri1 is the base of uri2 if, when you ignore everything in uri2 after the last slash (/), the two URIs are identical. Using http://host/path/path/file?query as the base URI, the following table shows whether it is a base for other URIs.

URI

http://host/path/path/file?query is base of

http://host/path/path/file/

yes

http://host/path/path/#fragment

yes

http://host/path/path/MoreDir/"

yes

http://host/path/path/OtherFile?Query

yes

http://host/path/path/

yes

http://host/path/path/file

yes

http://host/path/path

no

http://host/path/path?query

no

http://host/path/path#Fragment

no

http://host/path/path2/

no

http://host/path/path2/MoreDir

no

http://host/path/File

no

This example creates a Uri instance that represents a base Uri instance. It then creates a second Uri instance from a string. It calls IsBaseOf to determine whether the base instance is the base of the second instance. The outcome is written to the console.

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

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

// Determine whether BaseUri is a base of UriAddress.   
if ( baseUri->IsBaseOf( uriAddress ) )
   Console::WriteLine( "{0} is the base of {1}", baseUri, uriAddress );

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

XNA Framework

Supported in: 3.0, 2.0, 1.0

Portable Class Library

Supported in: Portable Class Library

Supported in: Windows Phone 8.1

Supported in: Windows Phone Silverlight 8.1

Supported in: Windows Phone Silverlight 8
Show:
© 2015 Microsoft