メモ : このコンストラクタは、互換性のために残されています。
明示的な文字エスケープ制御を使用し、指定したベース URI と相対 URI に基づいて、Uri クラスの新しいインスタンスを初期化します。
名前空間: System
アセンブリ: System (system.dll 内)
構文
'宣言
<ObsoleteAttribute("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 Sub New ( _
baseUri As Uri, _
relativeUri As String, _
dontEscape As Boolean _
)
'使用
Dim baseUri As Uri
Dim relativeUri As String
Dim dontEscape As Boolean
Dim instance As New Uri(baseUri, relativeUri, dontEscape)
[ObsoleteAttribute("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
)
[ObsoleteAttribute(L"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
)
/** @attribute ObsoleteAttribute("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,
boolean dontEscape
)
ObsoleteAttribute("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 function Uri (
baseUri : Uri,
relativeUri : String,
dontEscape : boolean
)
パラメータ
- baseUri
ベース URI。
- relativeUri
ベース URI に追加する相対 URI。
- dontEscape
uriString が完全にエスケープされている場合は true。それ以外の場合は false。解説を参照してください。
例外
例外の種類 | 条件 |
---|---|
uriString が null 参照 (Visual Basic では Nothing) です。 |
|
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 の長さが 65534 文字を超えています。 または baseUri と relativeUri を組み合わせて作成された URI に指定されたスキームの長さが 1023 文字を超えています。 または baseUri と relativeUri を組み合わせて作成された URI に無効な文字シーケンスが含まれています。 または uriString に指定する MS-DOS パスは、c:\\ で始める必要があります。 |
解説
このコンストラクタは、baseUri と relativeUri を組み合わせて Uri インスタンスを作成します。relativeUri に渡される URI が絶対 URI (スキーム、ホスト名を含み、任意でポート番号も含まれている URI) の場合は、relativeUri だけを使用して Uri インスタンスが作成されます。
dontEscape パラメータは、予約文字をエスケープ シーケンスに変換するかどうかを制御します。このパラメータは、URI のすべての予約文字がエスケープされていることが確実である場合だけに true に設定します。完全にエスケープされていない URL に対して値を true に設定すると、予測できない動作が発生する場合があります。このパラメータは常に false に設定することを強くお勧めします。dontEscape を false に設定すると、コンストラクタは、すべてのパーセント記号 (%) の後に有効なエスケープ シーケンスが続いているかどうかを確認して、予約文字をすべてエスケープします。パーセント記号に続く文字シーケンスが有効でない場合は、パーセント記号が %25 に置き換えられます。
このコンストラクタを使用しても、Uri によって参照されるリソースが確実にアクセス可能であるとは限りません。
呼び出し時の注意 セキュリティの問題があるため、信頼できないソースからの URI 文字列を指定し、dontEscape を true に設定した状態で、アプリケーションからこのコンストラクタを呼び出さないようにしてください。または、このコンストラクタを呼び出す前に IsWellFormedOriginalString メソッドを呼び出して、URI 文字列の有効性を検証できます。
使用例
Uri クラスの新しいインスタンスを作成するために、https://www.contoso.com と Hello%20World.htm という 2 つの相対 URI を組み合わせて 1 つの絶対 URI が作成される例を次に示します。
Dim baseUri As New Uri("https://www.contoso.com")
Dim myUri As New Uri(baseUri, "Hello%20World.htm", False)
Uri baseUri = new Uri("https://www.contoso.com");
Uri myUri = new Uri(baseUri, "Hello%20World.htm",false);
Uri^ baseUri = gcnew Uri( "https://www.contoso.com/" );
Uri^ myUri = gcnew Uri( baseUri,"Hello%20World.htm",false );
Uri baseUri = new Uri("https://www.contoso.com");
Uri myUri = new Uri(baseUri, "Hello%20World.htm", false);
var baseUri : Uri = new Uri("https://www.contoso.com");
var myUri : Uri = new Uri(baseUri, "Hello%20World.htm",false);
プラットフォーム
Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
.NET Framework
サポート対象 : 1.0、1.1
2.0 では、互換性のために残されています (コンパイル時に警告)
.NET Compact Framework
サポート対象 : 1.0
2.0 では、互換性のために残されています (コンパイル時に警告)