Uri Конструкторы
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Инициализирует новый экземпляр класса Uri.
Перегрузки
Uri(String) |
Инициализирует новый экземпляр класса Uri с заданным универсальным кодом ресурса. |
Uri(SerializationInfo, StreamingContext) |
Устаревшие..
Инициализирует новый экземпляр класса Uri на основе указанных экземпляров классов SerializationInfo и StreamingContext. |
Uri(String, Boolean) |
Устаревшие..
Устаревшие..
Устаревшие..
Инициализирует новый экземпляр класса Uri с указанным универсальным кодом ресурса и явным управлением преобразованием в escape-последовательность. |
Uri(String, UriCreationOptions) |
Инициализирует новый экземпляр Uri класса с указанным универсальным кодом ресурса (URI) и дополнительными .UriCreationOptions |
Uri(String, UriKind) |
Инициализирует новый экземпляр класса Uri с заданным универсальным кодом ресурса. Этот конструктор позволяет указать, содержится ли в строке универсального кода ресурса относительный универсальный код ресурса, абсолютный универсальный код ресурса или неопределенный вариант. |
Uri(Uri, String) |
Инициализирует новый экземпляр класса Uri на основе заданного базового универсального кода ресурса и строки относительного универсального кода ресурса. |
Uri(Uri, Uri) |
Инициализирует новый экземпляр класса Uri на основе сочетания заданного базового экземпляра Uri и относительного экземпляра Uri. |
Uri(Uri, String, Boolean) |
Устаревшие..
Устаревшие..
Устаревшие..
Инициализирует новый экземпляр класса Uri на основе заданных базового и относительного универсального кода ресурса с явным управлением преобразованием в escape-последовательность. |
Uri(String)
- Исходный код:
- Uri.cs
- Исходный код:
- Uri.cs
- Исходный код:
- Uri.cs
Инициализирует новый экземпляр класса Uri с заданным универсальным кодом ресурса.
public:
Uri(System::String ^ uriString);
public Uri (string uriString);
new Uri : string -> Uri
Public Sub New (uriString As String)
Параметры
- uriString
- String
Строка, позволяющая идентифицировать ресурсы, которые должны быть представлены с помощью экземпляра Uri. Обратите внимание на то, что IPv6-адрес в строковой форме должен заключаться в скобки. Пример: "http://[2607:f8b0:400d:c06::69]".
Исключения
uriString
имеет значение null
.
Примечание. В .NET для приложений Магазина Windows или в переносимой библиотеке классов перехватите исключение базового класса FormatException.
Параметр uriString
пуст.
-или-
Схема, указанная в uriString
, неправильно сформирована. См. раздел CheckSchemeName(String).
-или-
uriString
содержит слишком много знаков косой черты.
-или-
Пароль, указанный в uriString
, является недопустимым.
-или-
Имя узла, указанное в uriString
, является недопустимым.
-или-
Имя файла, указанное в uriString
, является недопустимым.
-или-
Имя пользователя, указанное в uriString
, является недопустимым.
-или-
Имя узла или центра, указанное в uriString
, не может заканчиваться обратной косой чертой.
-или-
Номер порта, указанный в uriString
, является недопустимым или не поддается анализу.
-или-
Длина uriString
превышает 65 519 символов.
-или-
Длина схемы, заданной в uriString
, превышает 1023 символа.
-или-
Имеется недопустимая последовательность символов в uriString
.
-или-
Путь MS-DOS, указанный в , uriString
должен начинаться с c:\\.
Примеры
В следующем примере создается Uri экземпляр с универсальным кодом ресурса (URI http://www.contoso.com/
).
Uri^ baseUri = gcnew Uri( "http://www.contoso.com/" );
Uri myUri = new Uri("http://www.contoso.com/");
let myUri = Uri "http://www.contoso.com/"
Dim myUri As New Uri("http://www.contoso.com/")
Комментарии
Этот конструктор создает Uri экземпляр из строки URI. Он анализирует универсальный код ресурса (URI), помещает его в канонический формат и создает все необходимые escape-кодировки.
Этот конструктор не гарантирует, что ссылается на Uri доступный ресурс.
Этот конструктор предполагает, что string
параметр ссылается на абсолютный URI и эквивалентен вызову конструктора Uri с заданным UriKind значением Absolute. Если параметр, string
передаваемый конструктору, является относительным универсальным кодом ресурса (URI), этот конструктор создает исключение UriFormatException.
Применяется к
Uri(SerializationInfo, StreamingContext)
- Исходный код:
- Uri.cs
- Исходный код:
- Uri.cs
- Исходный код:
- Uri.cs
Внимание!
This API supports obsolete formatter-based serialization. It should not be called or extended by application code.
Инициализирует новый экземпляр класса Uri на основе указанных экземпляров классов SerializationInfo и StreamingContext.
protected:
Uri(System::Runtime::Serialization::SerializationInfo ^ serializationInfo, System::Runtime::Serialization::StreamingContext streamingContext);
protected Uri (System.Runtime.Serialization.SerializationInfo serializationInfo, System.Runtime.Serialization.StreamingContext streamingContext);
[System.Obsolete("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
protected Uri (System.Runtime.Serialization.SerializationInfo serializationInfo, System.Runtime.Serialization.StreamingContext streamingContext);
new Uri : System.Runtime.Serialization.SerializationInfo * System.Runtime.Serialization.StreamingContext -> Uri
[<System.Obsolete("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
new Uri : System.Runtime.Serialization.SerializationInfo * System.Runtime.Serialization.StreamingContext -> Uri
Protected Sub New (serializationInfo As SerializationInfo, streamingContext As StreamingContext)
Параметры
- serializationInfo
- SerializationInfo
Экземпляр класса SerializationInfo содержит сведения, необходимые для сериализации нового экземпляра Uri.
- streamingContext
- StreamingContext
Экземпляр класса StreamingContext содержит источник сериализованного потока, связанного с новым экземпляром Uri.
- Атрибуты
Исключения
Параметр serializationInfo
содержит универсальный код ресурса (URI) null
.
Параметр serializationInfo
содержит пустой универсальный код ресурса (URI).
-или-
Указанная схема неправильно сформирована. См. раздел CheckSchemeName(String).
-или-
Универсальный код ресурса (URI) содержит слишком много знаков косой черты.
-или-
Пароль, указанный в универсальном коде ресурса (URI), является недопустимым.
-или-
Имя узла, указанное в универсальном коде ресурса (URI), является недопустимым.
-или-
Имя файла, указанное в универсальном коде ресурса (URI), является недопустимым.
-или-
Имя пользователя, указанное в универсальном коде ресурса (URI), является недопустимым.
-или-
Имя узла или центра, указанное в универсальном коде ресурса (URI), не может заканчиваться обратной косой чертой.
-или-
Номер порта, указанный в универсальном коде ресурса (URI), является недопустимым или не поддается анализу.
-или-
Длина универсального кода ресурса (URI) превышает 65 519 символов.
-или-
Длина схемы, заданной в универсальном коде ресурса (URI), превышает 1023 символа.
-или-
Имеется недопустимая последовательность символов в универсальном коде ресурса (URI).
-или-
Путь MS-DOS, заданный в универсальном коде ресурса (URI), должен начинаться с c:\\.
Комментарии
Этот конструктор реализует ISerializable интерфейс для Uri класса .
См. также раздел
Применяется к
Uri(String, Boolean)
- Исходный код:
- Uri.cs
- Исходный код:
- Uri.cs
- Исходный код:
- Uri.cs
Внимание!
The constructor has been deprecated. Please use new Uri(string). The dontEscape parameter is deprecated and is always false. https://go.microsoft.com/fwlink/?linkid=14202
Внимание!
This constructor has been deprecated; the dontEscape parameter is always false. Use Uri(string) instead.
Внимание!
The constructor has been deprecated. Please use new Uri(string). The dontEscape parameter is deprecated and is always false. http://go.microsoft.com/fwlink/?linkid=14202
Инициализирует новый экземпляр класса Uri с указанным универсальным кодом ресурса и явным управлением преобразованием в escape-последовательность.
public:
Uri(System::String ^ uriString, bool dontEscape);
[System.Obsolete("The constructor has been deprecated. Please use new Uri(string). The dontEscape parameter is deprecated and is always false. https://go.microsoft.com/fwlink/?linkid=14202")]
public Uri (string uriString, bool dontEscape);
[System.Obsolete("This constructor has been deprecated; the dontEscape parameter is always false. Use Uri(string) instead.")]
public Uri (string uriString, bool dontEscape);
[System.Obsolete("The constructor has been deprecated. Please use new Uri(string). The dontEscape parameter is deprecated and is always false. http://go.microsoft.com/fwlink/?linkid=14202")]
public Uri (string uriString, bool dontEscape);
public Uri (string uriString, bool dontEscape);
[<System.Obsolete("The constructor has been deprecated. Please use new Uri(string). The dontEscape parameter is deprecated and is always false. https://go.microsoft.com/fwlink/?linkid=14202")>]
new Uri : string * bool -> Uri
[<System.Obsolete("This constructor has been deprecated; the dontEscape parameter is always false. Use Uri(string) instead.")>]
new Uri : string * bool -> Uri
[<System.Obsolete("The constructor has been deprecated. Please use new Uri(string). The dontEscape parameter is deprecated and is always false. http://go.microsoft.com/fwlink/?linkid=14202")>]
new Uri : string * bool -> Uri
new Uri : string * bool -> Uri
Public Sub New (uriString As String, dontEscape As Boolean)
Параметры
- uriString
- String
Строка, позволяющая идентифицировать ресурсы, которые должны быть представлены с помощью экземпляра Uri. Обратите внимание на то, что IPv6-адрес в строковой форме должен заключаться в скобки. Пример: "http://[2607:f8b0:400d:c06::69]".
- dontEscape
- Boolean
Значение true
, если параметр uriString
полностью преобразовывается в escape-последовательность; в противном случае — значение false
.
- Атрибуты
Исключения
uriString
имеет значение null
.
Параметр uriString
является пустым или содержит только пробелы.
-или-
Схема, указанная в параметре uriString
, является недопустимой.
-или-
uriString
содержит слишком много знаков косой черты.
-или-
Пароль, указанный в uriString
, является недопустимым.
-или-
Имя узла, указанное в uriString
, является недопустимым.
-или-
Имя файла, указанное в uriString
, является недопустимым.
-или-
Имя пользователя, указанное в uriString
, является недопустимым.
-или-
Имя узла или центра, указанное в uriString
, не может заканчиваться обратной косой чертой.
-или-
Номер порта, указанный в uriString
, является недопустимым или не поддается анализу.
-или-
Длина uriString
превышает 65 519 символов.
-или-
Длина схемы, заданной в uriString
, превышает 1023 символа.
-или-
Имеется недопустимая последовательность символов в uriString
.
-или-
Путь MS-DOS, указанный в , uriString
должен начинаться с c:\\.
Примеры
В следующем примере создается Uri экземпляр для URI http://www.contoso.com/Hello%20World.htm
. Так как содержащийся URI полностью экранирован и находится в канонической форме, dontEscape
параметру можно задать значение true
.
Uri^ myUri = gcnew Uri( "http://www.contoso.com/Hello%20World.htm",true );
Uri myUri = new Uri("http://www.contoso.com/Hello%20World.htm", true);
let myUri = Uri("http://www.contoso.com/Hello%20World.htm", true)
Dim myUri As New Uri("http://www.contoso.com/Hello%20World.htm", True)
Комментарии
Этот конструктор создает экземпляр из Uri строки URI. Он анализирует универсальный код ресурса (URI) и помещает его в канонический формат.
Параметр dontEscape
управляет преобразованием зарезервированных символов в escape-последовательности. Этот параметр должен иметь значение true
только в том случае, если вы уверены, что все зарезервированные символы в URI были экранированы. Установка значения true
для URI, который не был полностью экранирован, может привести к непредвиденному поведению. Настоятельно рекомендуется всегда задавать для этого параметра значение false
.
Если dontEscape
для задано значение false
, конструктор экранирует все зарезервированные символы, проверяя, что за всеми вхождениями процента (%) следует допустимая escape-последовательность. Если последовательность символов после процента недопустима, процент заменяется %25.
Этот конструктор не гарантирует, что ссылается на Uri доступный ресурс.
Применяется к
Uri(String, UriCreationOptions)
- Исходный код:
- Uri.cs
- Исходный код:
- Uri.cs
- Исходный код:
- Uri.cs
Инициализирует новый экземпляр Uri класса с указанным универсальным кодом ресурса (URI) и дополнительным UriCreationOptions.
public:
Uri(System::String ^ uriString, UriCreationOptions % creationOptions);
public Uri (string uriString, in UriCreationOptions creationOptions);
new Uri : string * UriCreationOptions -> Uri
Public Sub New (uriString As String, ByRef creationOptions As UriCreationOptions)
Параметры
- uriString
- String
Строка, позволяющая идентифицировать ресурсы, которые должны быть представлены с помощью экземпляра Uri.
- creationOptions
- UriCreationOptions
Параметры, управляющие тем, Uri как создается и ведет себя.
Применяется к
Uri(String, UriKind)
- Исходный код:
- Uri.cs
- Исходный код:
- Uri.cs
- Исходный код:
- Uri.cs
Инициализирует новый экземпляр класса Uri с заданным универсальным кодом ресурса. Этот конструктор позволяет указать, содержится ли в строке универсального кода ресурса относительный универсальный код ресурса, абсолютный универсальный код ресурса или неопределенный вариант.
public:
Uri(System::String ^ uriString, UriKind uriKind);
public Uri (string uriString, UriKind uriKind);
new Uri : string * UriKind -> Uri
Public Sub New (uriString As String, uriKind As UriKind)
Параметры
- uriString
- String
Строка, позволяющая идентифицировать ресурсы, которые должны быть представлены с помощью экземпляра Uri. Обратите внимание на то, что IPv6-адрес в строковой форме должен заключаться в скобки. Пример: "http://[2607:f8b0:400d:c06::69]".
- uriKind
- UriKind
Указывает, содержится ли в строке универсального кода ресурса относительный универсальный код ресурса, абсолютный универсальный код ресурса или неопределенный вариант.
Исключения
uriKind
недопустим.
uriString
имеет значение null
.
Примечание. В .NET для приложений Магазина Windows или в переносимой библиотеке классов перехватите исключение базового класса FormatException.
uriString
содержит относительный URI, и uriKind
— Absolute.
or
uriString
содержит абсолютный URI, и uriKind
— Relative.
or
Параметр uriString
пуст.
-или-
Схема, указанная в uriString
, неправильно сформирована. См. раздел CheckSchemeName(String).
-или-
uriString
содержит слишком много знаков косой черты.
-или-
Пароль, указанный в uriString
, является недопустимым.
-или-
Имя узла, указанное в uriString
, является недопустимым.
-или-
Имя файла, указанное в uriString
, является недопустимым.
-или-
Имя пользователя, указанное в uriString
, является недопустимым.
-или-
Имя узла или центра, указанное в uriString
, не может заканчиваться обратной косой чертой.
-или-
Номер порта, указанный в uriString
, является недопустимым или не поддается анализу.
-или-
Длина uriString
превышает 65 519 символов.
-или-
Длина схемы, заданной в uriString
, превышает 1023 символа.
-или-
Имеется недопустимая последовательность символов в uriString
.
-или-
Путь MS-DOS, указанный в , uriString
должен начинаться с c:\\.
Комментарии
Относительные и абсолютные URI имеют разные ограничения на их формат. Например, относительный URI не требует схемы или центра. Значение, указанное в , uriKind
должно соответствовать типу универсального кода ресурса (URI), переданного в uriString
. Однако если RelativeOrAbsolute указан параметр , строка URI может быть относительной или абсолютной.
Применяется к
Uri(Uri, String)
- Исходный код:
- Uri.cs
- Исходный код:
- Uri.cs
- Исходный код:
- Uri.cs
Инициализирует новый экземпляр класса Uri на основе заданного базового универсального кода ресурса и строки относительного универсального кода ресурса.
public:
Uri(Uri ^ baseUri, System::String ^ relativeUri);
public Uri (Uri baseUri, string relativeUri);
public Uri (Uri baseUri, string? relativeUri);
new Uri : Uri * string -> Uri
Public Sub New (baseUri As Uri, relativeUri As String)
Параметры
- baseUri
- Uri
Базовый универсальный код ресурса.
- relativeUri
- String
Относительный универсальный код ресурса, добавляемый к базовому.
Исключения
baseUri
имеет значение null
.
baseUri
не является абсолютным экземпляром Uri.
Примечание. В .NET для приложений Магазина Windows или в переносимой библиотеке классов перехватите исключение базового класса FormatException.
URI, сформированный путем объединения baseUri
и relativeUri
, пуст или содержит только пробелы.
-или-
Схема, заданная в URI, сформированном путем объединения baseUri
и relativeUri
, является недопустимой.
-или-
URI, сформированный путем объединения baseUri
и relativeUri
, содержит слишком много косых черт.
-или-
Пароль, заданный в URI, сформированном путем объединения baseUri
и relativeUri
, является недопустимой.
-или-
Имя узла, заданное в URI, сформированном путем объединения baseUri
и relativeUri
, является недопустимым.
-или-
Имя файла, заданное в URI, сформированном путем объединения baseUri
и relativeUri
, является недопустимым.
-или-
Имя пользователя, заданное в URI, сформированном путем объединения baseUri
и relativeUri
, является недопустимым.
-или-
Имя узла или центра, заданное в URI, сформированном путем объединения baseUri
и relativeUri
, не может заканчиваться обратной косой чертой.
-или-
Номер порта, заданный в URI, сформированном путем объединения baseUri
и relativeUri
, является недопустимым или не поддается анализу.
-или-
Длина URI, сформированного путем объединения baseUri
и relativeUri
, превышает 65 519 знаков.
-или-
Длина схемы, заданной в URI, сформированном путем объединения baseUri
и relativeUri
, превышает 1023 знака.
-или-
Имеется недопустимая последовательность символов в URI, сформированном путем объединения baseUri
и relativeUri
.
-или-
Путь MS-DOS, указанный в , uriString
должен начинаться с c:\\.
Примеры
В следующем примере создается новый экземпляр класса путем Uri объединения относительных URI http://www.contoso.com
и catalog/shownew.htm
формирования абсолютного URI http://www.contoso.com/catalog/shownew.htm
.
Uri^ baseUri = gcnew Uri( "http://www.contoso.com" );
Uri^ myUri = gcnew Uri( baseUri, "catalog/shownew.htm" );
Console::WriteLine( myUri->ToString() );
Uri baseUri = new Uri("http://www.contoso.com");
Uri myUri = new Uri(baseUri, "catalog/shownew.htm");
Console.WriteLine(myUri.ToString());
let baseUri = Uri "http://www.contoso.com"
let myUri = Uri(baseUri, "catalog/shownew.htm")
printfn $"{myUri}"
Dim baseUri As New Uri("http://www.contoso.com")
Dim myUri As New Uri(baseUri, "catalog/shownew.htm")
Console.WriteLine(myUri.ToString())
Комментарии
Этот конструктор создает экземпляр путем Uri объединения baseUri
и relativeUri
. Если relativeUri
является абсолютным URI (содержит схему, имя узла и при необходимости номер порта), Uri экземпляр создается только relativeUri
с помощью .
Если имеет относительные baseUri
части (например /api
, ), то относительная часть должна быть завершена косой чертой (например /api/
, ), если относительная часть должна baseUri
быть сохранена в построенном Uriобъекте .
Кроме того, если relativeUri
начинается с косой черты, он заменит любую относительную часть baseUri
Этот конструктор не гарантирует, что ссылается на Uri доступный ресурс.
Применяется к
Uri(Uri, Uri)
- Исходный код:
- Uri.cs
- Исходный код:
- Uri.cs
- Исходный код:
- Uri.cs
public:
Uri(Uri ^ baseUri, Uri ^ relativeUri);
public Uri (Uri baseUri, Uri relativeUri);
new Uri : Uri * Uri -> Uri
Public Sub New (baseUri As Uri, relativeUri As Uri)
Параметры
Исключения
baseUri
не является абсолютным экземпляром Uri.
baseUri
имеет значение null
.
baseUri
не является абсолютным экземпляром Uri.
Примечание. В .NET для приложений Магазина Windows или в переносимой библиотеке классов перехватите исключение базового класса FormatException.
URI, сформированный путем объединения baseUri
и relativeUri
, пуст или содержит только пробелы.
-или-
Схема, заданная в URI, сформированном путем объединения baseUri
и relativeUri
, является недопустимой.
-или-
URI, сформированный путем объединения baseUri
и relativeUri
, содержит слишком много косых черт.
-или-
Пароль, заданный в URI, сформированном путем объединения baseUri
и relativeUri
, является недопустимой.
-или-
Имя узла, заданное в URI, сформированном путем объединения baseUri
и relativeUri
, является недопустимым.
-или-
Имя файла, заданное в URI, сформированном путем объединения baseUri
и relativeUri
, является недопустимым.
-или-
Имя пользователя, заданное в URI, сформированном путем объединения baseUri
и relativeUri
, является недопустимым.
-или-
Имя узла или центра, заданное в URI, сформированном путем объединения baseUri
и relativeUri
, не может заканчиваться обратной косой чертой.
-или-
Номер порта, заданный в URI, сформированном путем объединения baseUri
и relativeUri
, является недопустимым или не поддается анализу.
-или-
Длина URI, сформированного путем объединения baseUri
и relativeUri
, превышает 65 519 знаков.
-или-
Длина схемы, заданной в URI, сформированном путем объединения baseUri
и relativeUri
, превышает 1023 знака.
-или-
Имеется недопустимая последовательность символов в URI, сформированном путем объединения baseUri
и relativeUri
.
-или-
Путь MS-DOS, указанный в , uriString
должен начинаться с c:\\.
Примеры
В этом примере создается абсолютный Uri экземпляр absoluteUri
и относительный Uri экземпляр relativeUri
. Затем из этих двух экземпляров создается новый Uri экземпляр combinedUri
.
// Create an absolute Uri from a string.
String^ addressString1 = "http://www.contoso.com/";
String^ addressString2 = "catalog/shownew.htm?date=today";
Uri^ absoluteUri = gcnew Uri(addressString1);
// Create a relative Uri from a string. allowRelative = true to allow for
// creating a relative Uri.
Uri^ relativeUri = gcnew Uri(addressString2);
// Check whether the new Uri is absolute or relative.
if ( !relativeUri->IsAbsoluteUri )
Console::WriteLine( "{0} is a relative Uri.", relativeUri );
// Create a new Uri from an absolute Uri and a relative Uri.
Uri^ combinedUri = gcnew Uri( absoluteUri,relativeUri );
Console::WriteLine( combinedUri->AbsoluteUri );
// Create an absolute Uri from a string.
Uri absoluteUri = new Uri("http://www.contoso.com/");
// Create a relative Uri from a string. allowRelative = true to allow for
// creating a relative Uri.
Uri relativeUri = new Uri("/catalog/shownew.htm?date=today", UriKind.Relative);
// Check whether the new Uri is absolute or relative.
if (!relativeUri.IsAbsoluteUri)
Console.WriteLine("{0} is a relative Uri.", relativeUri);
// Create a new Uri from an absolute Uri and a relative Uri.
Uri combinedUri = new Uri(absoluteUri, relativeUri);
Console.WriteLine(combinedUri.AbsoluteUri);
// Create an absolute Uri from a string.
let absoluteUri = Uri "http://www.contoso.com/"
// Create a relative Uri from a string. allowRelative = true to allow for
// creating a relative Uri.
let relativeUri = Uri("/catalog/shownew.htm?date=today", UriKind.Relative)
// Check whether the new Uri is absolute or relative.
if not relativeUri.IsAbsoluteUri then
printfn $"{relativeUri} is a relative Uri."
// Create a new Uri from an absolute Uri and a relative Uri.
let combinedUri = Uri(absoluteUri, relativeUri)
printfn $"{combinedUri.AbsoluteUri}"
' Create an absolute Uri from a string.
Dim absoluteUri As New Uri("http://www.contoso.com/")
' Create a relative Uri from a string. allowRelative = true to allow for
' creating a relative Uri.
Dim relativeUri As New Uri("/catalog/shownew.htm?date=today")
' Check whether the new Uri is absolute or relative.
If Not relativeUri.IsAbsoluteUri Then
Console.WriteLine("{0} is a relative Uri.", relativeUri)
End If
' Create a new Uri from an absolute Uri and a relative Uri.
Dim combinedUri As New Uri(absoluteUri, relativeUri)
Console.WriteLine(combinedUri.AbsoluteUri)
End Sub
Комментарии
Этот конструктор создает новый Uri экземпляр путем объединения абсолютного Uri экземпляра baseUri
с относительным Uri экземпляром relativeUri
. Если relativeUri
является абсолютным Uri экземпляром (содержащим схему, имя узла и при необходимости номер порта), Uri экземпляр создается только relativeUri
с помощью .
Если имеет относительные baseUri
части (например /api
, ), то относительная часть должна быть завершена косой чертой (например /api/
, ), если относительная часть должна baseUri
быть сохранена в построенном Uriобъекте .
Кроме того, если relativeUri
начинается с косой черты, он заменит любую относительную часть baseUri
Этот конструктор не гарантирует, что ссылается на Uri доступный ресурс.
Применяется к
Uri(Uri, String, Boolean)
- Исходный код:
- Uri.cs
- Исходный код:
- Uri.cs
- Исходный код:
- Uri.cs
Внимание!
The constructor has been deprecated. Please new Uri(Uri, string). The dontEscape parameter is deprecated and is always false. https://go.microsoft.com/fwlink/?linkid=14202
Внимание!
This constructor has been deprecated; the dontEscape parameter is always false. Use Uri(Uri, string) instead.
Внимание!
The constructor has been deprecated. Please new Uri(Uri, string). The dontEscape parameter is deprecated and is always false. http://go.microsoft.com/fwlink/?linkid=14202
Инициализирует новый экземпляр класса Uri на основе заданных базового и относительного универсального кода ресурса с явным управлением преобразованием в escape-последовательность.
public:
Uri(Uri ^ baseUri, System::String ^ relativeUri, bool dontEscape);
[System.Obsolete("The constructor has been deprecated. Please new Uri(Uri, string). The dontEscape parameter is deprecated and is always false. https://go.microsoft.com/fwlink/?linkid=14202")]
public Uri (Uri baseUri, string? relativeUri, bool dontEscape);
[System.Obsolete("This constructor has been deprecated; the dontEscape parameter is always false. Use Uri(Uri, string) instead.")]
public Uri (Uri baseUri, string? relativeUri, bool dontEscape);
[System.Obsolete("The constructor has been deprecated. Please new Uri(Uri, string). The dontEscape parameter is deprecated and is always false. http://go.microsoft.com/fwlink/?linkid=14202")]
public Uri (Uri baseUri, string relativeUri, bool dontEscape);
public Uri (Uri baseUri, string relativeUri, bool dontEscape);
[System.Obsolete("The constructor has been deprecated. Please new Uri(Uri, string). The dontEscape parameter is deprecated and is always false. https://go.microsoft.com/fwlink/?linkid=14202")]
public Uri (Uri baseUri, string relativeUri, bool dontEscape);
[<System.Obsolete("The constructor has been deprecated. Please new Uri(Uri, string). The dontEscape parameter is deprecated and is always false. https://go.microsoft.com/fwlink/?linkid=14202")>]
new Uri : Uri * string * bool -> Uri
[<System.Obsolete("This constructor has been deprecated; the dontEscape parameter is always false. Use Uri(Uri, string) instead.")>]
new Uri : Uri * string * bool -> Uri
[<System.Obsolete("The constructor has been deprecated. Please new Uri(Uri, string). The dontEscape parameter is deprecated and is always false. http://go.microsoft.com/fwlink/?linkid=14202")>]
new Uri : Uri * string * bool -> Uri
new Uri : Uri * string * bool -> Uri
Public Sub New (baseUri As Uri, relativeUri As String, dontEscape As Boolean)
Параметры
- baseUri
- Uri
Базовый универсальный код ресурса.
- relativeUri
- String
Относительный универсальный код ресурса, добавляемый к базовому.
- dontEscape
- Boolean
Значение true
, если параметр uriString
полностью преобразовывается в escape-последовательность; в противном случае — значение false
.
- Атрибуты
Исключения
baseUri
имеет значение null
.
baseUri
не является абсолютным экземпляром Uri.
URI, сформированный путем объединения baseUri
и relativeUri
, пуст или содержит только пробелы.
-или-
Схема, заданная в URI, сформированном путем объединения baseUri
и relativeUri
, является недопустимой.
-или-
URI, сформированный путем объединения baseUri
и relativeUri
, содержит слишком много косых черт.
-или-
Пароль, заданный в URI, сформированном путем объединения baseUri
и relativeUri
, является недопустимой.
-или-
Имя узла, заданное в URI, сформированном путем объединения baseUri
и relativeUri
, является недопустимым.
-или-
Имя файла, заданное в URI, сформированном путем объединения baseUri
и relativeUri
, является недопустимым.
-или-
Имя пользователя, заданное в URI, сформированном путем объединения baseUri
и relativeUri
, является недопустимым.
-или-
Имя узла или центра, заданное в URI, сформированном путем объединения baseUri
и relativeUri
, не может заканчиваться обратной косой чертой.
-или-
Номер порта, заданный в URI, сформированном путем объединения baseUri
и relativeUri
, является недопустимым или не поддается анализу.
-или-
Длина URI, сформированного путем объединения baseUri
и relativeUri
, превышает 65 519 знаков.
-или-
Длина схемы, заданной в URI, сформированном путем объединения baseUri
и relativeUri
, превышает 1023 знака.
-или-
Имеется недопустимая последовательность символов в URI, сформированном путем объединения baseUri
и relativeUri
.
-или-
Путь MS-DOS, указанный в , uriString
должен начинаться с c:\\.
Примеры
В следующем примере создается новый экземпляр Uri класса путем объединения относительных URI http://www.contoso.com
и Hello%20World.htm
формирования абсолютного URI.
Uri^ baseUri = gcnew Uri( "http://www.contoso.com/" );
Uri^ myUri = gcnew Uri( baseUri,"Hello%20World.htm",false );
Uri baseUri = new Uri("http://www.contoso.com");
Uri myUri = new Uri(baseUri, "Hello%20World.htm",false);
let baseUri = Uri "http://www.contoso.com"
let myUri = Uri(baseUri, "Hello%20World.htm", false)
Dim baseUri As New Uri("http://www.contoso.com")
Dim myUri As New Uri(baseUri, "Hello%20World.htm", False)
Комментарии
Этот конструктор создает экземпляр путем Uri объединения baseUri
и relativeUri
. Если переданный relativeUri
URI является абсолютным URI (содержит схему, имя узла и при необходимости номер порта), Uri экземпляр создается только relativeUri
с помощью .
Параметр dontEscape
определяет, претворяются ли зарезервированные символы в escape-последовательности. Этому параметру следует задать значение true
только в том случае, если вы уверены, что все зарезервированные символы в URI были экранированы. Если задать значение true
для универсального кода ресурса (URI), который не был полностью экранирован, это может привести к непредвиденному поведению. Настоятельно рекомендуется всегда задавать этому параметру значение false
. Если dontEscape
задано значение false
, конструктор экранирует все зарезервированные символы, проверяя, что за всеми вхождениями процентов (%) следует допустимая escape-последовательность. Если последовательность символов после процента недопустима, процент заменяется %25.
Этот конструктор не гарантирует, что ссылается на Uri доступный ресурс.
Примечания для тех, кто вызывает этот метод
Из соображений безопасности приложение не должно вызывать этот конструктор со строками URI из ненадежных источников и с dontEscape
параметром true
. Кроме того, можно проверить строку URI на допустимость, вызвав IsWellFormedOriginalString() метод перед вызовом этого конструктора.
Применяется к
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по