Uri Конструкторы
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Инициализирует новый экземпляр класса Uri.
Перегрузки
Uri(String) |
Инициализирует новый экземпляр класса Uri с указанным универсальным кодом ресурса (URI). |
Uri(SerializationInfo, StreamingContext) |
Устаревшие..
Инициализирует новый экземпляр класса Uri из указанных экземпляров классов SerializationInfo и StreamingContext. |
Uri(String, Boolean) |
Устаревшие..
Устаревшие..
Устаревшие..
Инициализирует новый экземпляр класса Uri с указанным универсальным кодом ресурса (URI) с явным контролем экранирования символов. |
Uri(String, UriCreationOptions) |
Инициализирует новый экземпляр класса Uri с указанным универсальным кодом ресурса (URI) и дополнительными UriCreationOptions. |
Uri(String, UriKind) |
Инициализирует новый экземпляр класса Uri с указанным универсальным кодом ресурса (URI). Этот конструктор позволяет указать, является ли строка URI относительной URI, абсолютным универсальным кодом ресурса (URI) или неопределенной. |
Uri(Uri, String) |
Инициализирует новый экземпляр класса Uri на основе указанного базового URI и относительной строки URI. |
Uri(Uri, Uri) |
Инициализирует новый экземпляр класса Uri на основе сочетания указанного базового Uri экземпляра и относительного экземпляра Uri. |
Uri(Uri, String, Boolean) |
Устаревшие..
Устаревшие..
Устаревшие..
Инициализирует новый экземпляр класса Uri на основе указанных базовых и относительных URI с явным контролем экранирования символов. |
Uri(String)
- Исходный код:
- Uri.cs
- Исходный код:
- Uri.cs
- Исходный код:
- Uri.cs
Инициализирует новый экземпляр класса Uri с указанным универсальным кодом ресурса (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
превышает 65519 символов.
-или-
Длина схемы, указанной в uriString
, превышает 1023 символов.
-или-
В uriString
существует недопустимая последовательность символов.
-или-
Путь MS-DOS, указанный в uriString
, должен начинаться с c:\\.
Примеры
В следующем примере создается экземпляр Uri с http://www.contoso.com/
URI.
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 превышает 65519 символов.
-или-
Длина схемы, указанной в 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 с указанным универсальным кодом ресурса (URI) с явным контролем экранирования символов.
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
полностью экранирован; в противном случае false
.
- Атрибуты
Исключения
uriString
null
.
uriString
пусто или содержит только пробелы.
-или-
Схема, указанная в uriString
, недопустимая.
-или-
uriString
содержит слишком много косых черт.
-или-
Недопустимый пароль, указанный в uriString
.
-или-
Недопустимое имя узла, указанное в uriString
.
-или-
Недопустимое имя файла, указанное в uriString
.
-или-
Недопустимое имя пользователя, указанное в uriString
.
-или-
Имя узла или центра, указанное в uriString
, не может быть завершено обратными косыми чертами.
-или-
Номер порта, указанный в uriString
, недопустим или не может быть проанализирован.
-или-
Длина uriString
превышает 65519 символов.
-или-
Длина схемы, указанной в uriString
, превышает 1023 символов.
-или-
В uriString
существует недопустимая последовательность символов.
-или-
Путь MS-DOS, указанный в uriString
, должен начинаться с c:\\.
Примеры
В следующем примере создается экземпляр Uri для http://www.contoso.com/Hello%20World.htm
URI. Так как автономный универсальный код ресурса (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)
Параметры
- creationOptions
- UriCreationOptions
Параметры, управляющие созданием и поведением Uri.
Применяется к
Uri(String, UriKind)
- Исходный код:
- Uri.cs
- Исходный код:
- Uri.cs
- Исходный код:
- Uri.cs
Инициализирует новый экземпляр класса Uri с указанным универсальным кодом ресурса (URI). Этот конструктор позволяет указать, является ли строка URI относительной URI, абсолютным универсальным кодом ресурса (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
Указывает, является ли строка URI относительной URI, абсолютным универсальным кодом ресурса (URI) или неопределенной.
Исключения
uriKind
недопустимо.
uriString
null
.
Примечание. В .NET для приложений Магазина Windows или переносимой библиотеки классов, перехватите исключение базового класса FormatException.
uriString
содержит относительный URI и uriKind
Absolute.
или
uriString
содержит абсолютный URI и uriKind
Relative.
или
uriString
пуст.
-или-
Схема, указанная в uriString
, неправильно сформирована. См. CheckSchemeName(String).
-или-
uriString
содержит слишком много косых черт.
-или-
Недопустимый пароль, указанный в uriString
.
-или-
Недопустимое имя узла, указанное в uriString
.
-или-
Недопустимое имя файла, указанное в uriString
.
-или-
Недопустимое имя пользователя, указанное в uriString
.
-или-
Имя узла или центра, указанное в uriString
, не может быть завершено обратными косыми чертами.
-или-
Номер порта, указанный в uriString
, недопустим или не может быть проанализирован.
-или-
Длина uriString
превышает 65519 символов.
-или-
Длина схемы, указанной в uriString
, превышает 1023 символов.
-или-
В uriString
существует недопустимая последовательность символов.
-или-
Путь MS-DOS, указанный в uriString
, должен начинаться с c:\\.
Комментарии
Относительные и абсолютные URI имеют разные ограничения в их формате. Например, относительный универсальный код ресурса (URI) не требует схемы или центра. Значение, указанное в uriKind
, должно соответствовать типу URI, переданного в uriString
. Однако если указана RelativeOrAbsolute, строка URI может быть относительной или абсолютной.
Применяется к
Uri(Uri, String)
- Исходный код:
- Uri.cs
- Исходный код:
- Uri.cs
- Исходный код:
- Uri.cs
Инициализирует новый экземпляр класса Uri на основе указанного базового URI и относительной строки 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
Базовый универсальный код ресурса (URI).
- relativeUri
- String
Относительный универсальный код ресурса (URI), добавляемый в базовый универсальный код ресурса (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
превышает 65519 символов.
-или-
Длина схемы, указанной в URI, сформированной путем объединения baseUri
и relativeUri
превышает 1023 символов.
-или-
В URI имеется недопустимая последовательность символов, сформированная путем объединения baseUri
и relativeUri
.
-или-
Путь MS-DOS, указанный в baseUri
, должен начинаться с c:\\.
Примеры
В следующем примере создается новый экземпляр класса Uri путем объединения относительных URI http://www.contoso.com
и catalog/shownew.htm
для формирования абсолютного http://www.contoso.com/catalog/shownew.htm
URI.
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
превышает 65519 символов.
-или-
Длина схемы, указанной в URI, сформированной путем объединения baseUri
и relativeUri
превышает 1023 символов.
-или-
В URI имеется недопустимая последовательность символов, сформированная путем объединения baseUri
и relativeUri
.
-или-
Путь MS-DOS, указанный в baseUri
, должен начинаться с c:\\.
Примеры
В этом примере создается абсолютный экземпляр Uri, absoluteUri
и относительный экземпляр Uri, relativeUri
. Затем создается новый экземпляр UricombinedUri
из этих двух экземпляров.
// 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 на основе указанных базовых и относительных URI с явным контролем экранирования символов.
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
Базовый универсальный код ресурса (URI).
- relativeUri
- String
Относительный универсальный код ресурса (URI), добавляемый в базовый универсальный код ресурса (URI).
- dontEscape
- Boolean
true
, если baseUri
и relativeUri
полностью экранируются; в противном случае 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
превышает 65519 символов.
-или-
Длина схемы, указанной в URI, сформированной путем объединения baseUri
и relativeUri
превышает 1023 символов.
-или-
В URI имеется недопустимая последовательность символов, сформированная путем объединения baseUri
и relativeUri
.
-или-
Путь MS-DOS, указанный в baseUri
, должен начинаться с 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
. Если URI, переданный в relativeUri
, является абсолютным URI (содержащий схему, имя узла и номер порта), экземпляр Uri создается только с помощью relativeUri
.
Параметр dontEscape
определяет, переводятся ли зарезервированные символы в escape-последовательности. Этот параметр должен иметь значение true
только в том случае, если вы уверены, что все зарезервированные символы в URI были экранированы. Задание значения true
для URI, который не был полностью экранирован, может привести к неожиданному поведению. Настоятельно рекомендуется всегда задать этот параметр для false
. Если для dontEscape
задано значение false
, конструктор бежит все зарезервированные символы, проверив, что за всеми вхождениями процентов (%) следует допустимая escape-последовательность. Если последовательность символов после процента недопустима, процент заменяется %25.
Этот конструктор не гарантирует, что Uri ссылается на доступный ресурс.
Примечания для тех, кто вызывает этот метод
Из-за проблем безопасности приложение не должно вызывать этот конструктор со строками URI из ненадежных источников и с dontEscape
задать значение true
. Кроме того, можно проверить строку URI для допустимости, вызвав метод IsWellFormedOriginalString() перед вызовом этого конструктора.