Uri コンストラクター

定義

Uri クラスの新しいインスタンスを初期化します。

オーバーロード

Uri(String)

指定した URI を使用して、Uri クラスの新しいインスタンスを初期化します。

Uri(SerializationInfo, StreamingContext)
古い.

SerializationInfo クラスと StreamingContext クラスの指定したインスタンスから、Uri クラスの新しいインスタンスを初期化します。

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)

Source:
Uri.cs
Source:
Uri.cs
Source:
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]" のようにします。

例外

uriStringnullです。

注意: Windows ストア アプリ用 .NET またはポータブル クラス ライブラリでは、基本クラスの例外である FormatException を代わりにキャッチします。

uriString が空です。

- または -

uriString に指定されたスキームの形式が正しくありません。 以下を参照してください。CheckSchemeName(String)

- または -

uriString に含まれるスラッシュが多すぎます。

- または -

uriString に指定されたパスワードは正しくありません。

- または -

uriString に指定されたホスト名は正しくありません。

- または -

uriString に指定されたファイル名正しくありません。

- または -

uriString に指定されたユーザー名は正しくありません。

- または -

uriString に指定するホスト名または機関名が円記号で終わっていてはなりません。

- または -

uriString に指定されたポート番号が正しくないか、解析できません。

- または -

uriString の長さが 65519 文字を超えています。

- または -

uriString に指定されたスキームの長さが 1023 文字を超えています。

- または -

正しくない文字シーケンスが uriString に含まれています。

- または -

uriString 指定された MS-DOS パスは 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 を解析し、正規形式で配置し、必要なエスケープ エンコーディングを作成します。

このコンストラクターは、 がアクセス可能なリソースを参照していることを Uri 保証しません。

このコンストラクターは、 パラメーターが絶対 URI を参照しstring、 が にAbsolute設定された コンストラクターをUri呼び出すこととUriKind同じであることを前提としています。 コンストラクターに string 渡されるパラメーターが相対 URI の場合、このコンストラクターは を UriFormatExceptionスローします。

適用対象

Uri(SerializationInfo, StreamingContext)

Source:
Uri.cs
Source:
Uri.cs
Source:
Uri.cs

注意事項

This API supports obsolete formatter-based serialization. It should not be called or extended by application code.

SerializationInfo クラスと StreamingContext クラスの指定したインスタンスから、Uri クラスの新しいインスタンスを初期化します。

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 パラメーターには、null URI が格納されます。

serializationInfo パラメーターには空の URI が格納されます。

- または -

指定されたスキームの形式が正しくありません。 以下を参照してください。CheckSchemeName(String)

- または -

URI に含まれているスラッシュが多すぎます。

- または -

URI で指定されたパスワードが無効です。

- または -

URI に指定されたホスト名が無効です。

- または -

URI に指定されたファイル名が無効です。

- または -

URI で指定されたユーザー名が無効です。

- または -

URI に指定するホスト名または権限名の末尾には、円記号を使用できません。

- または -

URI に指定されたポート番号が無効か、解析できません。

- または -

URI の長さが 65519 文字を超えています。

- または -

URI に指定されたスキームの長さが 1023 文字を超えています。

- または -

URI に無効な文字シーケンスが含まれています。

- または -

URI に指定する MS-DOS パスは、c:\\ で始める必要があります。

注釈

このコンストラクターは、 クラスの ISerializable インターフェイスを Uri 実装します。

こちらもご覧ください

適用対象

Uri(String, Boolean)

Source:
Uri.cs
Source:
Uri.cs
Source:
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

uriString が完全にエスケープされている場合は true。それ以外の場合は false

属性

例外

uriStringnullです。

uriString が空か、空白だけを含んでいます。

- または -

uriString に指定されたスキームが無効です。

- または -

uriString に含まれるスラッシュが多すぎます。

- または -

uriString に指定されたパスワードは正しくありません。

- または -

uriString に指定されたホスト名は正しくありません。

- または -

uriString に指定されたファイル名正しくありません。

- または -

uriString に指定されたユーザー名は正しくありません。

- または -

uriString に指定するホスト名または機関名が円記号で終わっていてはなりません。

- または -

uriString に指定されたポート番号が正しくないか、解析できません。

- または -

uriString の長さが 65519 文字を超えています。

- または -

uriString に指定されたスキームの長さが 1023 文字を超えています。

- または -

正しくない文字シーケンスが uriString に含まれています。

- または -

uriString 指定された MS-DOS パスは c:\\ で始まる必要があります。

次の例では、 Uri URI http://www.contoso.com/Hello%20World.htmの インスタンスを作成します。 含まれている URI は完全にエスケープされ、正規形式であるため、 パラメーターを dontEscapetrue設定できます。

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 、予約文字をエスケープ シーケンスに変換するかどうかを制御します。 このパラメーターは、URI 内のすべての予約文字がエスケープされていることが確実な場合にのみ、 true に設定する必要があります。 完全にエスケープされていない URI の値を に true 設定すると、予期しない動作が発生する可能性があります。 このパラメーター falseは常に に設定することを強くお勧めします。

が にfalse設定されている場合dontEscape、コンストラクターは、パーセント (%) のすべての出現の後に有効なエスケープ シーケンスが続くかどうかを確認することで、予約文字をエスケープします。 パーセントに続く文字シーケンスが無効な場合、パーセントは %25 に置き換えられます。

このコンストラクターは、 がアクセス可能なリソースを参照していることを Uri 保証しません。

適用対象

Uri(String, UriCreationOptions)

Source:
Uri.cs
Source:
Uri.cs
Source:
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)

パラメーター

uriString
String

Uri インスタンスで表されるリソースを表す文字列。

creationOptions
UriCreationOptions

の作成方法と動作を Uri 制御するオプション。

適用対象

Uri(String, UriKind)

Source:
Uri.cs
Source:
Uri.cs
Source:
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 が無効です。

uriStringnullです。

注意: Windows ストア アプリ用 .NET またはポータブル クラス ライブラリでは、基本クラスの例外である FormatException を代わりにキャッチします。

uriString は相対 URI を格納し、uriKindAbsolute です。

or

uriString は絶対 URI を格納し、uriKindRelative です。

or

uriString が空です。

- または -

uriString に指定されたスキームの形式が正しくありません。 以下を参照してください。CheckSchemeName(String)

- または -

uriString に含まれるスラッシュが多すぎます。

- または -

uriString に指定されたパスワードは正しくありません。

- または -

uriString に指定されたホスト名は正しくありません。

- または -

uriString に指定されたファイル名正しくありません。

- または -

uriString に指定されたユーザー名は正しくありません。

- または -

uriString に指定するホスト名または機関名が円記号で終わっていてはなりません。

- または -

uriString に指定されたポート番号が正しくないか、解析できません。

- または -

uriString の長さが 65519 文字を超えています。

- または -

uriString に指定されたスキームの長さが 1023 文字を超えています。

- または -

正しくない文字シーケンスが uriString に含まれています。

- または -

uriString 指定された MS-DOS パスは c:\\ で始まる必要があります。

注釈

相対 URI と絶対 URI の形式には異なる制限があります。 たとえば、相対 URI にはスキームや機関は必要ありません。 で指定する値は、 で uriKind 渡される uriStringURI の種類と一致する必要があります。 ただし、 が指定されている場合 RelativeOrAbsolute 、URI 文字列は相対または絶対にすることができます。

適用対象

Uri(Uri, String)

Source:
Uri.cs
Source:
Uri.cs
Source:
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。

例外

baseUrinullです。

baseUri は絶対 Uri インスタンスではありません。

注意: Windows ストア アプリ用 .NET またはポータブル クラス ライブラリでは、基本クラスの例外である FormatException を代わりにキャッチします。

baseUrirelativeUri を結合して形成された URI が空であるか、スペースのみを含んでいます。

- または -

baseUrirelativeUri を結合して形成された URI で指定されたスキームが無効です。

- または -

baseUrirelativeUri を結合して形成された URI に含まれるスラッシュが多すぎます。

- または -

baseUrirelativeUri を結合して形成された URI で指定されたパスワードが無効です。

- または -

baseUrirelativeUri を結合して形成された URI で指定されたホスト名が無効です。

- または -

baseUrirelativeUri を結合して形成された URI で指定されたファイル名が無効です。

- または -

baseUrirelativeUri を結合して形成された URI で指定されたユーザー名が無効です。

- または -

baseUrirelativeUri を結合して形成された URI で指定されたホスト名または機関名が円記号で終わっていてはなりません。

- または -

baseUrirelativeUri を結合して形成された URI で指定されたポート番号が正しくないか、解析できません。

- または -

baseUrirelativeUri を結合して形成される URI の長さが 65519 文字を超えています。

- または -

baseUrirelativeUri を結合して形成される URI で指定されたスキームの長さが 1023 文字を超えています。

- または -

baseUrirelativeUri を結合して形成された URI に使用できない文字シーケンスがあります。

- または -

uriString 指定する MS-DOS パスは c:\\ で始まる必要があります。

次の例では、相対 URI と catalog/shownew.htmhttp://www.contoso.com を組み合わせて、絶対 URI 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作成します。 が絶対 URI (スキーム、ホスト名、および必要に応じてポート番号を含む) Uri の場合relativeUri、インスタンスは のみをrelativeUri使用して作成されます。

baseUriに 相対部分 (など/api) がある場合は、 の相対部分を構築Uriされた で保持する場合は、相対部分baseUriをスラッシュ (など/api/) で終了する必要があります。

さらに、 が relativeUri スラッシュで始まる場合は、 の相対部分が置き換えられます。 baseUri

このコンストラクターは、 がアクセス可能なリソースを参照していることを Uri 保証しません。

適用対象

Uri(Uri, Uri)

Source:
Uri.cs
Source:
Uri.cs
Source:
Uri.cs

指定したベース Uri のインスタンスと相対 Uri のインスタンスの組み合わせに基づいて、Uri クラスの新しいインスタンスを初期化します。

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

新しい Uri インスタンスのベースとなる絶対 Uri

relativeUri
Uri

Uri と組み合わせる相対 baseUri インスタンス。

例外

baseUri は絶対 Uri インスタンスではありません。

baseUrinullです。

baseUri は絶対 Uri インスタンスではありません。

注意: Windows ストア アプリ用 .NET またはポータブル クラス ライブラリでは、基本クラスの例外である FormatException を代わりにキャッチします。

baseUrirelativeUri を結合して形成された URI が空であるか、スペースのみを含んでいます。

- または -

baseUrirelativeUri を結合して形成された URI で指定されたスキームが無効です。

- または -

baseUrirelativeUri を結合して形成された URI に含まれるスラッシュが多すぎます。

- または -

baseUrirelativeUri を結合して形成された URI で指定されたパスワードが無効です。

- または -

baseUrirelativeUri を結合して形成された URI で指定されたホスト名が無効です。

- または -

baseUrirelativeUri を結合して形成された URI で指定されたファイル名が無効です。

- または -

baseUrirelativeUri を結合して形成された URI で指定されたユーザー名が無効です。

- または -

baseUrirelativeUri を結合して形成された URI で指定されたホスト名または機関名が円記号で終わっていてはなりません。

- または -

baseUrirelativeUri を結合して形成された URI で指定されたポート番号が正しくないか、解析できません。

- または -

baseUrirelativeUri を結合して形成される URI の長さが 65519 文字を超えています。

- または -

baseUrirelativeUri を結合して形成される URI で指定されたスキームの長さが 1023 文字を超えています。

- または -

baseUrirelativeUri を結合して形成された URI に使用できない文字シーケンスがあります。

- または -

uriString 指定する MS-DOS パスは c:\\ で始まる必要があります。

この例では、絶対 Uri インスタンス 、、 absoluteUriおよび相対 Uri インスタンス を作成します relativeUri。 その後、combinedUriこれら 2 つのインスタンスから新しいUriインスタンス が作成されます。

// 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。 が絶対Uriインスタンス (スキーム、ホスト名、および必要に応じてポート番号を含む) Uri の場合relativeUri、インスタンスは のみをrelativeUri使用して作成されます。

baseUriに 相対部分 (など/api) がある場合は、 の相対部分を構築Uriされた で保持する場合は、相対部分baseUriをスラッシュ (など/api/) で終了する必要があります。

さらに、 が relativeUri スラッシュで始まる場合は、 の相対部分が置き換えられます。 baseUri

このコンストラクターは、 がアクセス可能なリソースを参照していることを Uri 保証しません。

適用対象

Uri(Uri, String, Boolean)

Source:
Uri.cs
Source:
Uri.cs
Source:
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 に基づいて、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

uriString が完全にエスケープされている場合は true。それ以外の場合は false

属性

例外

baseUrinullです。

baseUri は絶対 Uri インスタンスではありません。

baseUrirelativeUri を結合して形成された URI が空であるか、スペースのみを含んでいます。

- または -

baseUrirelativeUri を結合して形成された URI で指定されたスキームが無効です。

- または -

baseUrirelativeUri を結合して形成された URI に含まれるスラッシュが多すぎます。

- または -

baseUrirelativeUri を結合して形成された URI で指定されたパスワードが無効です。

- または -

baseUrirelativeUri を結合して形成された URI で指定されたホスト名が無効です。

- または -

baseUrirelativeUri を結合して形成された URI で指定されたファイル名が無効です。

- または -

baseUrirelativeUri を結合して形成された URI で指定されたユーザー名が無効です。

- または -

baseUrirelativeUri を結合して形成された URI で指定されたホスト名または機関名が円記号で終わっていてはなりません。

- または -

baseUrirelativeUri を結合して形成された URI で指定されたポート番号が正しくないか、解析できません。

- または -

baseUrirelativeUri を結合して形成される URI の長さが 65519 文字を超えています。

- または -

baseUrirelativeUri を結合して形成される URI で指定されたスキームの長さが 1023 文字を超えています。

- または -

baseUrirelativeUri を結合して形成された URI に使用できない文字シーケンスがあります。

- または -

uriString 指定する MS-DOS パスは c:\\ で始まる必要があります。

次の例では、相対 URI を組み合わせて、絶対 URI をhttp://www.contoso.comHello%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)

注釈

このコンストラクターは、 と relativeUriUri組み合わせてインスタンスをbaseUri作成します。 渡された relativeUri URI が絶対 URI (スキーム、ホスト名、および必要に応じてポート番号を含む) Uri である場合、インスタンスは のみを relativeUri使用して作成されます。

パラメーターは dontEscape 、予約文字をエスケープ シーケンスに変換するかどうかを制御します。 このパラメーターは、URI 内のすべての予約文字がエスケープされていることを確認した場合にのみ に true 設定する必要があります。 完全にエスケープされていない URI の値を に true 設定すると、予期しない動作が発生する可能性があります。 このパラメーター falseは常に に設定することを強くお勧めします。 が にfalse設定されている場合dontEscape、コンストラクターは、パーセント (%) のすべての出現箇所の後に有効なエスケープ シーケンスが続くかどうかを確認して、予約文字をエスケープします。 パーセントに続く文字シーケンスが無効な場合、パーセントは %25 に置き換えられます。

このコンストラクターは、 がアクセス可能なリソースを参照していることを Uri 保証しません。

注意 (呼び出し元)

セキュリティ上の懸念があるため、信頼されていないソースの URI 文字列と を にtrue設定して、アプリケーションでこのコンストラクターをdontEscape呼び出さないでください。 または、このコンストラクターを呼び出す前に メソッドを IsWellFormedOriginalString() 呼び出して、URI 文字列の有効性を確認することもできます。

適用対象