Uri コンストラクター
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
Uri クラスの新しいインスタンスを初期化します。
オーバーロード
| 名前 | 説明 |
|---|---|
| Uri(String) |
指定した URI を使用して、 Uri クラスの新しいインスタンスを初期化します。 |
| Uri(SerializationInfo, StreamingContext) |
古い.
UriクラスとSerializationInfo クラスの指定したインスタンスから、StreamingContext クラスの新しいインスタンスを初期化します。 |
| Uri(String, Boolean) |
古い.
古い.
古い.
古い.
文字エスケープを明示的に制御して、指定した URI を使用して、 Uri クラスの新しいインスタンスを初期化します。 |
| Uri(String, UriCreationOptions) |
指定した URI と追加のUriCreationOptionsを使用して、Uri クラスの新しいインスタンスを初期化します。 |
| 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 クラスの新しいインスタンスを初期化します。 |
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の長さが 65519 文字を超えています (.NET 9 以前のバージョンのみ)。
-又は-
uriStringで指定されたスキームの長さが 1023 文字を超えています。
-又は-
uriStringに無効な文字シーケンスがあります。
-又は-
uriString で指定された MS-DOS パスは c:\\ で始まっていません。
例
次の例では、URI http://www.contoso.com/を使用してUri インスタンスを作成します。
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 を解析し、正規形式で配置し、必要なエスケープ エンコードを行います。
このコンストラクターは、 Uri がアクセス可能なリソースを参照していることを保証しません。
uriStringが IPv6 アドレスを表す場合は、"http://[2607:f8b0:400d:c06::69]" などの角かっこで囲む必要があります。
このコンストラクターは、string パラメーターが絶対 URI を参照し、UriKindが Absolute に設定されたUri コンストラクターを呼び出すことと同じであることを前提としています。 コンストラクターに渡される 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 に無効な文字シーケンスがあります。
-又は-
URI で指定された MS-DOS パスは 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. https://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);
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
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の長さが 65519 文字を超えています (.NET 9 以前のバージョンのみ)。
-又は-
uriStringで指定されたスキームの長さが 1023 文字を超えています。
-又は-
uriStringに無効な文字シーケンスがあります。
-又は-
uriString で指定された MS-DOS パスは c:\\ で始まっていません。
注釈
このコンストラクターは、URI 文字列から Uri インスタンスを作成します。 URI を解析し、正規形式で配置します。
dontEscape パラメーターは、予約文字をエスケープ シーケンスに変換するかどうかを制御します。 このパラメーターは、URI 内のすべての予約文字がエスケープされていることが確実な場合にのみ、 true に設定する必要があります。 完全にエスケープされていない URI の値を true に設定すると、予期しない動作が発生する可能性があります。 このパラメーターは常に falseに設定することを強くお勧めします。
dontEscapeが false に設定されている場合、コンストラクターは、パーセント (%) のすべての出現箇所の後に有効なエスケープ シーケンスが続くかどうかを確認することで、予約文字をエスケープします。 パーセントに続く文字シーケンスが無効な場合、パーセントは %25に置き換えられます。
このコンストラクターは、 Uri がアクセス可能なリソースを参照していることを保証しません。
適用対象
Uri(String, UriCreationOptions)
- ソース:
- Uri.cs
- ソース:
- Uri.cs
- ソース:
- Uri.cs
- ソース:
- Uri.cs
- ソース:
- Uri.cs
指定した URI と追加のUriCreationOptionsを使用して、Uri クラスの新しいインスタンスを初期化します。
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の長さが 65519 文字を超えています (.NET 9 以前のバージョンのみ)。
-又は-
uriStringで指定されたスキームの長さが 1023 文字を超えています。
-又は-
uriStringに無効な文字シーケンスがあります。
-又は-
uriString で指定された MS-DOS パスは c:\\ で始まっていません。
注釈
相対 URI と絶対 URI の形式には異なる制限があります。 たとえば、相対 URI にはスキームや機関は必要ありません。
uriKindで指定する値は、uriStringで渡される URI の種類と一致する必要があります。 ただし、 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 インスタンスではありません。
baseUriとrelativeUriを組み合わせて形成された URI は空であるか、スペースのみを含みます。
-又は-
baseUriとrelativeUriを組み合わせて形成された URI で指定されたスキームが無効です。
-又は-
baseUriとrelativeUriを組み合わせて形成された URI に含まれるスラッシュが多すぎます。
-又は-
baseUriとrelativeUriを組み合わせて形成された URI で指定されたパスワード、ホスト名、ファイル名、またはユーザー名が無効です。
-又は-
baseUriとrelativeUriを組み合わせて形成された URI で指定されたホスト名または機関名は、円記号で終了します。
-又は-
baseUriとrelativeUriを組み合わせて形成された URI で指定されたポート番号が無効であるか、解析できません。
-又は-
baseUriとrelativeUriを組み合わせて形成される URI の長さが 65519 文字を超えています (.NET 9 以前のバージョンのみ)。
-又は-
baseUriとrelativeUriを組み合わせて形成された URI で指定されたスキームの長さが 1023 文字を超えています。
-又は-
とを組み合わせて形成された URI に無効な文字シーケンスがあります。
-又は-
baseUri で指定された MS-DOS パスは c:\\ で始まっていません。
例
次の例では、相対 URI http://www.contoso.comとcatalog/shownew.htmを組み合わせて絶対 URI http://www.contoso.com/catalog/shownew.htmを形成することで、Uri クラスの新しいインスタンスを作成します。
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())
注釈
このコンストラクターは、baseUriとrelativeUriを組み合わせてUri インスタンスを作成します。
relativeUriが絶対 URI (スキーム、ホスト名、および必要に応じてポート番号を含む) の場合、Uri インスタンスはrelativeUriのみを使用して作成されます。
baseUriに相対部分 (/api など) がある場合、baseUriの相対部分を構築されたUriに保持する場合は、相対部分をスラッシュ (/api/ など) で終了する必要があります。
さらに、 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 インスタンスではありません。
baseUriとrelativeUriを組み合わせて形成された URI は空であるか、スペースのみを含みます。
-又は-
baseUriとrelativeUriを組み合わせて形成された URI で指定されたスキームが無効です。
-又は-
baseUriとrelativeUriを組み合わせて形成された URI に含まれるスラッシュが多すぎます。
-又は-
baseUriとrelativeUriを組み合わせて形成された URI で指定されたパスワード、ホスト名、ファイル名、またはユーザー名が無効です。
-又は-
baseUriとrelativeUriを組み合わせて形成された URI で指定されたホスト名または機関名は、円記号で終了します。
-又は-
baseUriとrelativeUriを組み合わせて形成された URI で指定されたポート番号が無効であるか、解析できません。
-又は-
baseUriとrelativeUriを組み合わせて形成される URI の長さが 65519 文字を超えています (.NET 9 以前のバージョンのみ)。
-又は-
baseUriとrelativeUriを組み合わせて形成された URI で指定されたスキームの長さが 1023 文字を超えています。
-又は-
とを組み合わせて形成された URI に無効な文字シーケンスがあります。
-又は-
baseUri で指定された MS-DOS パスは c:\\ で始まっていません。
例
この例では、絶対 Uri インスタンス、 absoluteUri、および相対 Uri インスタンスを作成 relativeUri。 その後、これら 2 つのインスタンスから新しい 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インスタンス (baseUri) と相対Uri インスタンス (relativeUri) を組み合わせて、新しいUri インスタンスを作成します。
relativeUriが絶対Uri インスタンス (スキーム、ホスト名、および必要に応じてポート番号を含む) である場合、Uri インスタンスはrelativeUriのみを使用して作成されます。
baseUriに相対部分 (/api など) がある場合、baseUriの相対部分を構築されたUriに保持する場合は、相対部分をスラッシュ (/api/ など) で終了する必要があります。
さらに、 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. https://go.microsoft.com/fwlink/?linkid=14202
文字エスケープを明示的に制御して、指定した基本 URI と相対 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. https://go.microsoft.com/fwlink/?linkid=14202")]
public Uri(Uri baseUri, string relativeUri, bool dontEscape);
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
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 インスタンスではありません。
baseUriとrelativeUriを組み合わせて形成された URI は空であるか、スペースのみを含みます。
-又は-
baseUriとrelativeUriを組み合わせて形成された URI で指定されたスキームが無効です。
-又は-
baseUriとrelativeUriを組み合わせて形成された URI に含まれるスラッシュが多すぎます。
-又は-
baseUriとrelativeUriを組み合わせて形成された URI で指定されたパスワード、ホスト名、ファイル名、またはユーザー名が無効です。
-又は-
baseUriとrelativeUriを組み合わせて形成された URI で指定されたホスト名または機関名は、円記号で終了します。
-又は-
baseUriとrelativeUriを組み合わせて形成された URI で指定されたポート番号が無効であるか、解析できません。
-又は-
baseUriとrelativeUriを組み合わせて形成される URI の長さが 65519 文字を超えています (.NET 9 以前のバージョンのみ)。
-又は-
baseUriとrelativeUriを組み合わせて形成された URI で指定されたスキームの長さが 1023 文字を超えています。
-又は-
とを組み合わせて形成された URI に無効な文字シーケンスがあります。
-又は-
baseUri で指定された MS-DOS パスは c:\\ で始まっていません。
注釈
このコンストラクターは、baseUriとrelativeUriを組み合わせてUri インスタンスを作成します。
relativeUriで渡される URI が絶対 URI (スキーム、ホスト名、および必要に応じてポート番号を含む) である場合、Uri インスタンスはrelativeUriのみを使用して作成されます。
dontEscape パラメーターは、予約文字をエスケープ シーケンスに変換するかどうかを制御します。 このパラメーターは、URI 内のすべての予約文字がエスケープされていることが確実な場合にのみ、 true に設定する必要があります。 完全にエスケープされていない URI の値を true に設定すると、予期しない動作が発生する可能性があります。 このパラメーターは常に falseに設定することを強くお勧めします。
dontEscapeが false に設定されている場合、コンストラクターは、パーセント (%) のすべての出現箇所の後に有効なエスケープ シーケンスが続くかどうかを確認することで、予約文字をエスケープします。 パーセントに続く文字シーケンスが無効な場合、パーセントは %25に置き換えられます。
このコンストラクターは、 Uri がアクセス可能なリソースを参照していることを保証しません。
注意 (呼び出し元)
セキュリティ上の問題があるため、アプリケーションでは、信頼されていないソースからの URI 文字列を使用して、 dontEscape を true に設定して、このコンストラクターを呼び出さないでください。 または、このコンストラクターを呼び出す前に IsWellFormedOriginalString() メソッドを呼び出すことで、URI 文字列の有効性を確認することもできます。