Uri コンストラクター
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
Uri クラスの新しいインスタンスを初期化します。
オーバーロード
Uri(String) |
指定した URI を使用して、Uri クラスの新しいインスタンスを初期化します。 |
Uri(SerializationInfo, StreamingContext) |
SerializationInfo クラスと StreamingContext クラスの指定したインスタンスから、Uri クラスの新しいインスタンスを初期化します。 |
Uri(String, Boolean) |
互換性のために残されています。
互換性のために残されています。
互換性のために残されています。
指定した URI を使用し、明示的な文字エスケープ制御を使用して、Uri クラスの新しいインスタンスを初期化します。 |
Uri(String, UriCreationOptions) |
指定した URI と追加UriCreationOptionsの Uri 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]" のようにします。
例外
uriString
が null
です。
注意: 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
。
- 属性
例外
uriString
が null
です。
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 は完全にエスケープされ、標準形式であるため、パラメーターtrue
を dontEscape
.
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 と追加UriCreationOptionsの Uri 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 を使用して、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
が無効です。
uriString
が null
です。
注意: Windows ストア アプリ用 .NET またはポータブル クラス ライブラリでは、基本クラスの例外である FormatException を代わりにキャッチします。
uriString
は相対 URI を格納し、uriKind
は Absolute です。
or
uriString
は絶対 URI を格納し、uriKind
は Relative です。
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
渡される uriString
URI の種類と一致する必要があります。 ただし、指定した場合 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。
例外
baseUri
が null
です。
baseUri
は絶対 Uri インスタンスではありません。
注意: Windows ストア アプリ用 .NET またはポータブル クラス ライブラリでは、基本クラスの例外である FormatException を代わりにキャッチします。
baseUri
と relativeUri
を結合して形成された URI が空であるか、スペースのみを含んでいます。
- または -
baseUri
と relativeUri
を結合して形成された URI で指定されたスキームが無効です。
- または -
baseUri
と relativeUri
を結合して形成された URI に含まれるスラッシュが多すぎます。
- または -
baseUri
と relativeUri
を結合して形成された URI で指定されたパスワードが無効です。
- または -
baseUri
と relativeUri
を結合して形成された URI で指定されたホスト名が無効です。
- または -
baseUri
と relativeUri
を結合して形成された URI で指定されたファイル名が無効です。
- または -
baseUri
と relativeUri
を結合して形成された URI で指定されたユーザー名が無効です。
- または -
baseUri
と relativeUri
を結合して形成された URI で指定されたホスト名または機関名が円記号で終わっていてはなりません。
- または -
baseUri
と relativeUri
を結合して形成された URI で指定されたポート番号が正しくないか、解析できません。
- または -
baseUri
と relativeUri
を結合して形成される URI の長さが 65519 文字を超えています。
- または -
baseUri
と relativeUri
を結合して形成される URI で指定されたスキームの長さが 1023 文字を超えています。
- または -
baseUri
と relativeUri
を結合して形成された URI に使用できない文字シーケンスがあります。
- または -
uriString
に指定する MS-DOS のパスは、c:\\ で始める必要があります。
例
次のUri例では、相対 URI を組み合わせて絶対 URI http://www.contoso.com/catalog/shownew.htm
をhttp://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)
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 インスタンスではありません。
注意: Windows ストア アプリ用 .NET またはポータブル クラス ライブラリでは、基本クラスの例外である FormatException を代わりにキャッチします。
baseUri
と relativeUri
を結合して形成された URI が空であるか、スペースのみを含んでいます。
- または -
baseUri
と relativeUri
を結合して形成された URI で指定されたスキームが無効です。
- または -
baseUri
と relativeUri
を結合して形成された URI に含まれるスラッシュが多すぎます。
- または -
baseUri
と relativeUri
を結合して形成された URI で指定されたパスワードが無効です。
- または -
baseUri
と relativeUri
を結合して形成された URI で指定されたホスト名が無効です。
- または -
baseUri
と relativeUri
を結合して形成された URI で指定されたファイル名が無効です。
- または -
baseUri
と relativeUri
を結合して形成された URI で指定されたユーザー名が無効です。
- または -
baseUri
と relativeUri
を結合して形成された URI で指定されたホスト名または機関名が円記号で終わっていてはなりません。
- または -
baseUri
と relativeUri
を結合して形成された URI で指定されたポート番号が正しくないか、解析できません。
- または -
baseUri
と relativeUri
を結合して形成される URI の長さが 65519 文字を超えています。
- または -
baseUri
と relativeUri
を結合して形成される URI で指定されたスキームの長さが 1023 文字を超えています。
- または -
baseUri
と relativeUri
を結合して形成された 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
。
- 属性
例外
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 で指定されたユーザー名が無効です。
- または -
baseUri
と relativeUri
を結合して形成された URI で指定されたホスト名または機関名が円記号で終わっていてはなりません。
- または -
baseUri
と relativeUri
を結合して形成された URI で指定されたポート番号が正しくないか、解析できません。
- または -
baseUri
と relativeUri
を結合して形成される URI の長さが 65519 文字を超えています。
- または -
baseUri
と relativeUri
を結合して形成される URI で指定されたスキームの長さが 1023 文字を超えています。
- または -
baseUri
と relativeUri
を結合して形成された 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 文字列の有効性を確認することもできます。