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.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 равно null.
uriString значение пусто.
-или-
Схема, указанная в uriString неправильном формате. См. CheckSchemeName(String).
-или-
uriString содержит слишком много косых черт.
-или-
Недопустимый пароль, имя узла, имя файла или имя uriString пользователя.
-или-
Имя узла или центра, указанное в uriString , завершается обратными косыми чертами.
-или-
Недопустимый номер uriString порта или не может быть проанализирован.
-или-
uriString Длина превышает 6519 символов (только для .NET 9 и более ранних версий).
-или-
Длина схемы, указанной в uriString ней, превышает 1023 символов.
-или-
В ней есть недопустимая последовательность символов uriString.
-или-
Путь MS-DOS, указанный в uriString файле, не начинается с c:\\.
Примеры
В следующем примере создается экземпляр с универсальным Uri кодом ресурса (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 он ссылается на доступный ресурс.
uriString Если адрес IPv6 представляется, он должен быть заключен в скобки, например "http://[2607:f8b0:400d:c06::69]".
Этот конструктор предполагает, что string параметр ссылается на абсолютный универсальный код ресурса (URI) и эквивалентен вызову конструктора Uri с UriKind заданным значением Absolute. Если параметр, string переданный конструктору, является относительным универсальным кодом ресурса (URI), этот конструктор создает исключение UriFormatException.
Применяется к
Uri(SerializationInfo, StreamingContext)
- Исходный код:
- Uri.cs
- Исходный код:
- Uri.cs
- Исходный код:
- 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);
[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);
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}")>]
new Uri : System.Runtime.Serialization.SerializationInfo * System.Runtime.Serialization.StreamingContext -> Uri
new Uri : System.Runtime.Serialization.SerializationInfo * System.Runtime.Serialization.StreamingContext -> Uri
Protected Sub New (serializationInfo As SerializationInfo, streamingContext As StreamingContext)
Параметры
- serializationInfo
- SerializationInfo
Сведения, необходимые для сериализации нового Uri экземпляра.
- streamingContext
- StreamingContext
Источник сериализованного потока, связанного с новым Uri экземпляром.
- Атрибуты
Исключения
Параметр serializationInfo содержит универсальный null код ресурса (URI).
Параметр serializationInfo содержит URI, пустой.
-или-
Указанная схема неправильно сформирована. См. CheckSchemeName(String).
-или-
Универсальный код ресурса (URI) содержит слишком много косых черт.
-или-
Недопустимый пароль, имя узла, имя файла или имя пользователя, указанное в URI.
-или-
Имя узла или центра, указанное в URI, завершается обратными косыми чертами.
-или-
Недопустимый номер порта, указанный в URI, или не может быть проанализирован.
-или-
Длина URI превышает 65519 символов (только для .NET 9 и более ранних версий).
-или-
Длина схемы, указанной в URI, превышает 1023 символов.
-или-
В URI имеется недопустимая последовательность символов.
-или-
Путь MS-DOS, указанный в URI, не начинается с c:\\.
Комментарии
Этот конструктор реализует ISerializable интерфейс для Uri класса.
См. также раздел
Применяется к
Uri(String, Boolean)
- Исходный код:
- Uri.cs
- Исходный код:
- Uri.cs
- Исходный код:
- Uri.cs
- Исходный код:
- Uri.cs
- Исходный код:
- Uri.cs
Внимание
This constructor has been deprecated; the dontEscape parameter is always false. Use Uri(string) instead.
Внимание
This constructor has been deprecated. Use Uri(string) instead.
Внимание
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
Внимание
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("This constructor has been deprecated; the dontEscape parameter is always false. Use Uri(string) instead.")]
public Uri(string uriString, bool dontEscape);
[System.Obsolete("This constructor has been deprecated. 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. https://go.microsoft.com/fwlink/?linkid=14202")]
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("This constructor has been deprecated; the dontEscape parameter is always false. Use Uri(string) instead.")>]
new Uri : string * bool -> Uri
[<System.Obsolete("This constructor has been deprecated. 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. https://go.microsoft.com/fwlink/?linkid=14202")>]
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 Длина превышает 6519 символов (только для .NET 9 и более ранних версий).
-или-
Длина схемы, указанной в uriString ней, превышает 1023 символов.
-или-
В ней имеется недопустимая последовательность символов uriString.
-или-
Путь MS-DOS, указанный в uriString файле, не начинается с c:\\.
Комментарии
Этот конструктор создает 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.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.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)
Параметры
- uriKind
- UriKind
Указывает, является ли строка URI относительной URI, абсолютным универсальным кодом ресурса (URI) или неопределенной.
Исключения
uriKind недопустим.
uriString равно null.
uriString содержит относительный универсальный код ресурса (URI) и uriKind имеет значение Absolute.
или
uriString содержит абсолютный универсальный код ресурса (URI) и uriKind имеет значение Relative.
или
uriString значение пусто.
-или-
Схема, указанная в uriString неправильном формате. См. CheckSchemeName(String).
-или-
uriString содержит слишком много косых черт.
-или-
Недопустимый пароль, имя узла, имя файла или имя uriString пользователя.
-или-
Имя узла или центра, указанное в uriString , завершается обратными косыми чертами.
-или-
Недопустимый номер uriString порта или не может быть проанализирован.
-или-
uriString Длина превышает 6519 символов (только для .NET 9 и более ранних версий).
-или-
Длина схемы, указанной в uriString ней, превышает 1023 символов.
-или-
В ней имеется недопустимая последовательность символов uriString.
-или-
Путь MS-DOS, указанный в uriString файле, не начинается с c:\\.
Комментарии
Относительные и абсолютные URI имеют разные ограничения в их формате. Например, относительный универсальный код ресурса (URI) не требует схемы или центра. Указанное значение uriKind должно соответствовать типу URI, переданного в uriString. Однако если RelativeOrAbsolute задано, строка URI может быть относительной или абсолютной.
Для uriStringпараметра IPv6-адрес в строковой форме должен быть заключен в скобки, например "http://[2607:f8b0:400d:c06::69]".
Применяется к
Uri(Uri, String)
- Исходный код:
- Uri.cs
- Исходный код:
- Uri.cs
- Исходный код:
- 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 экземпляром.
URI, сформированный baseUri объединением и relativeUri пустым или содержит только пробелы.
-или-
Схема, указанная в URI, сформированном объединением baseUri и relativeUri недопустимая.
-или-
Универсальный код ресурса (URI), сформированный baseUri объединением и relativeUri содержит слишком много косых черт.
-или-
Пароль, имя узла, имя файла или имя пользователя, указанное в URI, сформированном baseUri объединением и relativeUri недопустимым.
-или-
Имя узла или центра, указанное в универсальном коде ресурса (URI), сформированное baseUri объединением и relativeUri завершается обратными косыми чертами.
-или-
Номер порта, указанный в URI, сформированный объединением baseUri и relativeUri недопустимым или не может быть проанализирован.
-или-
Длина URI, сформированного объединением baseUri и relativeUri превышением 65519 символов (только для .NET 9 и более ранних версий).
-или-
Длина схемы, указанной в URI, сформированной baseUri объединением и relativeUri превышением 1023 символов.
-или-
В универсальном коде ресурса (URI) имеется недопустимая последовательность символов, сформированная путем baseUri объединения и relativeUri.
-или-
Путь MS-DOS, указанный в baseUri файле, не начинается с c:\\.
Примеры
В следующем примере создается новый экземпляр Uri класса путем объединения относительных URI http://www.contoso.com и catalog/shownew.htm формирования абсолютного URI http://www.contoso.com/catalog/shownew.htm.
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
- Исходный код:
- 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 экземпляром.
URI, сформированный baseUri объединением и relativeUri пустым или содержит только пробелы.
-или-
Схема, указанная в URI, сформированном объединением baseUri и relativeUri недопустимая.
-или-
Универсальный код ресурса (URI), сформированный baseUri объединением и relativeUri содержит слишком много косых черт.
-или-
Пароль, имя узла, имя файла или имя пользователя, указанное в URI, сформированном baseUri объединением и relativeUri недопустимым.
-или-
Имя узла или центра, указанное в универсальном коде ресурса (URI), сформированное baseUri объединением и relativeUri завершается обратными косыми чертами.
-или-
Номер порта, указанный в URI, сформированный объединением baseUri и relativeUri недопустимым или не может быть проанализирован.
-или-
Длина URI, сформированного объединением baseUri и relativeUri превышением 65519 символов (только для .NET 9 и более ранних версий).
-или-
Длина схемы, указанной в URI, сформированной baseUri объединением и relativeUri превышением 1023 символов.
-или-
В универсальном коде ресурса (URI) имеется недопустимая последовательность символов, сформированная путем baseUri объединения и relativeUri.
-или-
Путь MS-DOS, указанный в baseUri файле, не начинается с c:\\.
Примеры
В этом примере создается абсолютный Uri экземпляр absoluteUriи относительный Uri экземпляр relativeUri. Затем создается новый Uri экземпляр combinedUriиз этих двух экземпляров.
// 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
- Исходный код:
- Uri.cs
- Исходный код:
- Uri.cs
Внимание
This constructor has been deprecated; the dontEscape parameter is always false. Use Uri(Uri, string) instead.
Внимание
This constructor has been deprecated. Use Uri(Uri, string) instead.
Внимание
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
Внимание
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("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("This constructor has been deprecated. 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. 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. 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("This constructor has been deprecated; the dontEscape parameter is always false. Use Uri(Uri, string) instead.")>]
new Uri : Uri * string * bool -> Uri
[<System.Obsolete("This constructor has been deprecated. 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. https://go.microsoft.com/fwlink/?linkid=14202")>]
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 превышением 65519 символов (только для .NET 9 и более ранних версий).
-или-
Длина схемы, указанной в URI, сформированной baseUri объединением и relativeUri превышением 1023 символов.
-или-
В универсальном коде ресурса (URI) имеется недопустимая последовательность символов, сформированная путем baseUri объединения и relativeUri.
-или-
Путь MS-DOS, указанный в baseUri файле, не начинается с c:\\.
Комментарии
Этот конструктор создает 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() этого конструктора.