次の方法で共有


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)

ソース:
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]" などです。

例外

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 を参照し、UriKindAbsoluteに設定された Uri コンストラクターを呼び出すことと同じであることを前提としています。 コンストラクターに渡される 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.

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

新しい Uri インスタンスのシリアル化に必要な情報を格納している SerializationInfo クラスのインスタンス。

streamingContext
StreamingContext

新しい Uri インスタンスに関連付けられたシリアル化ストリームのソースを含む StreamingContext クラスのインスタンス。

属性

例外

serializationInfo パラメーターには、null URI が含まれています。

serializationInfo パラメーターには、空の URI が含まれています。

-又は-

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

-又は-

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

-又は-

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

-又は-

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

-又は-

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

-又は-

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

-又は-

URI で指定されたホスト名または機関名を円記号で終了することはできません。

-又は-

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

-又は-

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

-又は-

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

-又は-

URI に無効な文字シーケンスがあります。

-又は-

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

注釈

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

こちらもご覧ください

  • XML および SOAP シリアル化 の

適用対象

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

uriString が完全にエスケープされた場合に true します。それ以外の場合は、falseします。

属性

例外

uriStringnullです。

uriString が空であるか、スペースのみが含まれています。

-又は-

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

-又は-

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

-又は-

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

-又は-

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

-又は-

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

-又は-

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

-又は-

uriString で指定されたホスト名または権限名を円記号で終了することはできません。

-又は-

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

-又は-

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

-又は-

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

-又は-

uriStringに無効な文字シーケンスがあります。

-又は-

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

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

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

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

適用対象

Uri(String, UriCreationOptions)

ソース:
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)

パラメーター

uriString
String

Uri インスタンスによって表されるリソースを識別する文字列。

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 が無効です。

uriStringnullです。

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

uriString には相対 URI が含まれており、uriKindAbsolute

又は

uriString 絶対 URI が含まれており、uriKindRelative

又は

uriString が空です。

-又は-

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

-又は-

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

-又は-

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

-又は-

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

-又は-

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

-又は-

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

-又は-

uriString で指定されたホスト名または権限名を円記号で終了することはできません。

-又は-

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

-又は-

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

-又は-

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

-又は-

uriStringに無効な文字シーケンスがあります。

-又は-

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

注釈

相対 URI と絶対 URI の形式には異なる制限があります。 たとえば、相対 URI にはスキームや機関は必要ありません。 uriKind で指定する値は、uriStringで渡される URI の種類と一致する必要があります。 ただし、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。

例外

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 に無効な文字シーケンスがあります。

-又は-

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

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

注釈

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

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

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

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

適用対象

Uri(Uri, Uri)

ソース:
Uri.cs
ソース:
Uri.cs
ソース:
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

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

例外

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 に無効な文字シーケンスがあります。

-又は-

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

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

// 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 インスタンス (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

注意事項

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

baseUrirelativeUri が完全にエスケープされた場合に 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 に無効な文字シーケンスがあります。

-又は-

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

次の例では、相対 URI http://www.contoso.comHello%20World.htm を組み合わせて絶対 URI を形成することで、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)

注釈

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

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

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

注意 (呼び出し元)

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

適用対象