Uri コンストラクター

定義

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

オーバーロード

Uri(String)

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

Uri(SerializationInfo, StreamingContext)

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

Uri(String, Boolean)
互換性のために残されています。
互換性のために残されています。
互換性のために残されています。

指定した URI を使用し、明示的な文字エスケープ制御を使用して、Uri クラスの新しいインスタンスを初期化します。

Uri(String, UriCreationOptions)

指定した URI と追加UriCreationOptionsUri 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 を使用して、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 参照することを保証しません。

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

適用対象

Uri(SerializationInfo, StreamingContext)

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);
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)

注意事項

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 は完全にエスケープされ、標準形式であるため、パラメーターtruedontEscape .

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)

指定した URI と追加UriCreationOptionsUri 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)

指定した 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)

指定したベース 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例では、相対 URI を組み合わせて絶対 URI http://www.contoso.com/catalog/shownew.htmhttp://www.contoso.com形成することで、catalog/shownew.htmクラスの新しいインスタンスを作成します。

Uri^ baseUri = gcnew Uri(  "http://www.contoso.com" );
Uri^ myUri = gcnew Uri( baseUri, "catalog/shownew.htm" );
Console::WriteLine( myUri->ToString() );
Uri baseUri = new Uri("http://www.contoso.com");
 Uri myUri = new Uri(baseUri, "catalog/shownew.htm");

Console.WriteLine(myUri.ToString());
let baseUri = Uri "http://www.contoso.com"
let myUri = Uri(baseUri, "catalog/shownew.htm")

printfn $"{myUri}"
Dim baseUri As New Uri("http://www.contoso.com")
Dim myUri As New Uri(baseUri, "catalog/shownew.htm")

Console.WriteLine(myUri.ToString())

注釈

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

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

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

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

適用対象

Uri(Uri, Uri)

指定したベース 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相対部分 (like/api) がある場合は、相対部分をスラッシュ (like) で終える必要があります。その相対部分が構築されたUri部分に保持される場合は、その相対部分baseUriをスラッシュ (like/api/) で終える必要があります。

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

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

適用対象

Uri(Uri, String, Boolean)

注意事項

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.com形成することで、Hello%20World.htmクラスのUri新しいインスタンスを作成します。

Uri^ baseUri = gcnew Uri( "http://www.contoso.com/" );
Uri^ myUri = gcnew Uri( baseUri,"Hello%20World.htm",false );
Uri baseUri = new Uri("http://www.contoso.com");
Uri myUri = new Uri(baseUri, "Hello%20World.htm",false);
let baseUri = Uri "http://www.contoso.com"
let myUri = Uri(baseUri, "Hello%20World.htm", false)
Dim baseUri As New Uri("http://www.contoso.com")
Dim myUri As New Uri(baseUri, "Hello%20World.htm", False)

注釈

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

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

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

注意 (呼び出し元)

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

適用対象