Uri 생성자

정의

Uri 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the Uri class.

오버로드

Uri(String)

URI가 지정된 Uri 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the Uri class with the specified URI.

Uri(SerializationInfo, StreamingContext)

UriSerializationInfo 클래스에 지정된 인스턴스에서 StreamingContext 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the Uri class from the specified instances of the SerializationInfo and StreamingContext classes.

Uri(String, Boolean)
사용되지 않습니다.
사용되지 않습니다.

문자 이스케이프를 명시적으로 제어하여 URI가 지정된 Uri 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the Uri class with the specified URI, with explicit control of character escaping.

Uri(String, UriKind)

URI가 지정된 Uri 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the Uri class with the specified URI. 이 생성자를 사용하면 URI 문자열이 상대 URI 또는 절대 URI인지, 아니면 결정되지 않았는지를 지정할 수 있습니다.This constructor allows you to specify if the URI string is a relative URI, absolute URI, or is indeterminate.

Uri(Uri, String)

지정된 기본 URI와 상대 URI 문자열을 기반으로 Uri 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the Uri class based on the specified base URI and relative URI string.

Uri(Uri, Uri)

지정된 기본 Uri 인스턴스와 상대 Uri 인스턴스의 조합을 기반으로 Uri 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the Uri class based on the combination of a specified base Uri instance and a relative Uri instance.

Uri(Uri, String, Boolean)
사용되지 않습니다.
사용되지 않습니다.

문자 이스케이프를 명시적으로 제어하여 지정된 기본 URI와 상대 URI를 기반으로 Uri 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the Uri class based on the specified base and relative URIs, with explicit control of character escaping.

Uri(String)

URI가 지정된 Uri 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the Uri class with the specified URI.

public:
 Uri(System::String ^ uriString);
public Uri (string uriString);
new Uri : string -> Uri
Public Sub New (uriString As String)

매개 변수

uriString
String

Uri 인스턴스가 나타낼 리소스를 식별하는 문자열입니다.A string that identifies the resource to be represented by the Uri instance. 문자열 형식에서 IPv6 주소는 대괄호로 묶어야 합니다.Note that an IPv6 address in string form must be enclosed within brackets. 예를 들어 "http://[2607:f8b0:400d:c06::69]"입니다.For example, "http://[2607:f8b0:400d:c06::69]".

예외

uriString이(가) null인 경우uriString is null.

참고: Windows 스토어 앱용 .NET 또는 이식 가능한 클래스 라이브러리에서 대신 기본 클래스 예외 FormatException을 catch합니다.Note: In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, FormatException, instead.

uriString가 비어 있는 경우uriString is empty.

또는-or- uriString에서 지정된 구성표가 올바르게 구성되지 않았습니다.The scheme specified in uriString is not correctly formed. CheckSchemeName(String)을 참조하세요.See CheckSchemeName(String).

또는-or- uriString에 너무 많은 슬래시가 들어 있습니다.uriString contains too many slashes.

또는-or- uriString에서 지정된 암호가 올바르지 않습니다.The password specified in uriString is not valid.

또는-or- uriString에서 지정된 호스트 이름이 올바르지 않습니다.The host name specified in uriString is not valid.

또는-or- uriString에서 지정된 파일 이름이 올바르지 않습니다.The file name specified in uriString is not valid.

또는-or- uriString에서 지정된 사용자 이름이 올바르지 않습니다.The user name specified in uriString is not valid.

또는-or- uriString에서 지정된 호스트 또는 기관 이름은 백슬래시로 종료할 수 없습니다.The host or authority name specified in uriString cannot be terminated by backslashes.

또는-or- uriString에서 지정된 포트 번호가 올바르지 않거나 해당 번호를 구문 분석할 수 없습니다.The port number specified in uriString is not valid or cannot be parsed.

또는-or- uriString의 길이가 65519자를 초과합니다.The length of uriString exceeds 65519 characters.

또는-or- uriString에서 지정된 구성표 길이가 1023자를 초과합니다.The length of the scheme specified in uriString exceeds 1023 characters.

또는-or- uriString에 잘못된 문자 시퀀스가 있습니다.There is an invalid character sequence in uriString.

또는-or- uriString에 지정된 MS-DOS 경로는 c:\\로 시작해야 합니다.The MS-DOS path specified in uriString must start with c:\\.

예제

다음 예에서는 URI를 Uri 사용 하 여 인스턴스를 만듭니다 http://www.contoso.com/ .The following example creates a Uri instance with the URI http://www.contoso.com/.

Uri^ baseUri = gcnew Uri( "http://www.contoso.com/" );
Uri myUri = new Uri("http://www.contoso.com/");

Dim myUri As New Uri("http://www.contoso.com/")

설명

This constructor creates a <xref:System.Uri> instance from a URI string. URI를 구문 분석 하 고 정식 형식으로 배치 하며 필요한 이스케이프 인코딩을 만듭니다.It parses the URI, puts it in canonical format, and makes any required escape encodings.

이 생성자는가 Uri 액세스 가능한 리소스를 참조 하는지 확인 하지 않습니다.This constructor does not ensure that the Uri refers to an accessible resource.

이 생성자는 string 매개 변수가 절대 URI를 참조 하 고 Uri 를로 설정 하 여 생성자를 호출 하는 것과 동일한 것으로 가정 UriKind Absolute 합니다.This constructor assumes that the string parameter references an absolute URI and is equivalent to calling the Uri constructor with UriKind set to Absolute. string생성자에 전달 된 매개 변수가 상대 URI 인 경우이 생성자는을 throw UriFormatException 합니다.If the string parameter passed to the constructor is a relative URI, this constructor will throw a UriFormatException.

적용 대상

Uri(SerializationInfo, StreamingContext)

UriSerializationInfo 클래스에 지정된 인스턴스에서 StreamingContext 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the Uri class from the specified instances of the SerializationInfo and StreamingContext classes.

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 인스턴스를 serialize하는 데 필요한 정보가 포함된 Uri 클래스의 인스턴스입니다.An instance of the SerializationInfo class containing the information required to serialize the new Uri instance.

streamingContext
StreamingContext

StreamingContext 인스턴스와 관련하여 serialize된 스트림의 소스가 포함된 Uri 클래스의 인스턴스입니다.An instance of the StreamingContext class containing the source of the serialized stream associated with the new Uri instance.

예외

serializationInfo 매개 변수에 null URI가 포함된 경우The serializationInfo parameter contains a null URI.

serializationInfo 매개 변수에 비어 있는 URI가 포함된 경우The serializationInfo parameter contains a URI that is empty.

또는-or- 지정된 체계가 올바르게 구성되지 않은 경우The scheme specified is not correctly formed. CheckSchemeName(String)을 참조하세요.See CheckSchemeName(String).

또는-or- URI에 너무 많은 슬래시가 들어 있습니다.The URI contains too many slashes.

또는-or- URI에 지정된 암호가 잘못된 경우The password specified in the URI is not valid.

또는-or- URI에 지정된 호스트 이름이 잘못된 경우The host name specified in URI is not valid.

또는-or- URI에 지정된 파일 이름이 잘못된 경우The file name specified in the URI is not valid.

또는-or- URI에 지정된 사용자 이름이 잘못된 경우The user name specified in the URI is not valid.

또는-or- URI에 지정된 호스트 또는 기관 이름을 백슬래시로 종료할 수 없는 경우The host or authority name specified in the URI cannot be terminated by backslashes.

또는-or- URI에 지정된 포트 번호가 잘못되었거나 해당 번호를 구문 분석할 수 없는 경우The port number specified in the URI is not valid or cannot be parsed.

또는-or- URI의 길이가 65519자를 초과합니다.The length of URI exceeds 65519 characters.

또는-or- URI에 지정된 체계 길이가 1023자를 초과한 경우The length of the scheme specified in the URI exceeds 1023 characters.

또는-or- URI에 잘못된 문자 시퀀스가 있습니다.There is an invalid character sequence in the URI.

또는-or- URI에 지정된 MS-DOS 경로는 c:\\로 시작해야 합니다.The MS-DOS path specified in the URI must start with c:\\.

설명

This constructor implements the <xref:System.Runtime.Serialization.ISerializable> interface for the <xref:System.Uri> class.

추가 정보

적용 대상

Uri(String, Boolean)

주의

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

주의

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

문자 이스케이프를 명시적으로 제어하여 URI가 지정된 Uri 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the Uri class with the specified URI, with explicit control of character escaping.

public:
 Uri(System::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. http://go.microsoft.com/fwlink/?linkid=14202")]
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")]
public Uri (string uriString, bool dontEscape);
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
[<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
Public Sub New (uriString As String, dontEscape As Boolean)

매개 변수

uriString
String

Uri 인스턴스가 나타낼 리소스를 식별하는 문자열입니다.A string that identifies the resource to be represented by the Uri instance. 문자열 형식에서 IPv6 주소는 대괄호로 묶어야 합니다.Note that an IPv6 address in string form must be enclosed within brackets. 예를 들어 "http://[2607:f8b0:400d:c06::69]"입니다.For example, "http://[2607:f8b0:400d:c06::69]".

dontEscape
Boolean

uriString이 이스케이프되면 true이고, 그렇지 않으면 false입니다.true if uriString is completely escaped; otherwise, false.

특성

예외

uriString이(가) null인 경우uriString is null.

uriString이 비어 있거나 공백만 포함하는 경우uriString is empty or contains only spaces.

또는-or- uriString에 지정된 체계가 잘못된 경우The scheme specified in uriString is not valid.

또는-or- uriString에 너무 많은 슬래시가 들어 있습니다.uriString contains too many slashes.

또는-or- uriString에서 지정된 암호가 올바르지 않습니다.The password specified in uriString is not valid.

또는-or- uriString에서 지정된 호스트 이름이 올바르지 않습니다.The host name specified in uriString is not valid.

또는-or- uriString에서 지정된 파일 이름이 올바르지 않습니다.The file name specified in uriString is not valid.

또는-or- uriString에서 지정된 사용자 이름이 올바르지 않습니다.The user name specified in uriString is not valid.

또는-or- uriString에서 지정된 호스트 또는 기관 이름은 백슬래시로 종료할 수 없습니다.The host or authority name specified in uriString cannot be terminated by backslashes.

또는-or- uriString에서 지정된 포트 번호가 올바르지 않거나 해당 번호를 구문 분석할 수 없습니다.The port number specified in uriString is not valid or cannot be parsed.

또는-or- uriString의 길이가 65519자를 초과합니다.The length of uriString exceeds 65519 characters.

또는-or- uriString에서 지정된 구성표 길이가 1023자를 초과합니다.The length of the scheme specified in uriString exceeds 1023 characters.

또는-or- uriString에 잘못된 문자 시퀀스가 있습니다.There is an invalid character sequence in uriString.

또는-or- uriString에 지정된 MS-DOS 경로는 c:\\로 시작해야 합니다.The MS-DOS path specified in uriString must start with c:\\.

예제

다음 예에서는 Uri URI에 대 한 인스턴스를 만듭니다 http://www.contoso.com/Hello%20World.htm .The following example creates a Uri instance for the URI http://www.contoso.com/Hello%20World.htm. 포함 된 URI는 완전히 이스케이프 되 고 정규 형식 이므로 dontEscape 매개 변수를로 설정할 수 있습니다 true .Because the contained URI is completely escaped and is in canonical form, the dontEscape parameter can be set to 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);

Dim myUri As New Uri("http://www.contoso.com/Hello%20World.htm", True)

설명

This constructor creates a <xref:System.Uri> instance from a URI string. URI를 구문 분석 하 여 정식 형식으로 만듭니다.It parses the URI and puts it in canonical format.

dontEscape매개 변수는 예약 된 문자가 이스케이프 시퀀스로 변환 되는지 여부를 제어 합니다.The dontEscape parameter controls whether reserved characters are translated into escape sequences. 이 매개 변수는 true URI의 모든 예약 된 문자가 이스케이프 된 것이 확실 한 경우에만로 설정 해야 합니다.This parameter should be set to true only if you are certain that all reserved characters in the URI have been escaped. true완전히 이스케이프 되지 않은 URI의 값을로 설정 하면 예기치 않은 동작이 발생할 수 있습니다.Setting the value to true for a URI that has not been completely escaped can cause unexpected behavior. 이 매개 변수를 항상로 설정 하는 것이 좋습니다 false .It is strongly recommended that you always set this parameter to false.

dontEscape가로 설정 된 경우 false 생성자 는% (%)의 모든 항목을 확인 하 여 모든 예약 된 문자를 이스케이프 처리 합니다. 다음에 올바른 이스케이프 시퀀스가 나옵니다.If dontEscape is set to false, the constructor escapes any reserved characters by checking that all occurrences of percent (%) are followed by a valid escape sequence. 백분율 다음의 문자 시퀀스가 잘못 된 경우 백분율은 %25로 바뀝니다.If the character sequence following a percent is not valid, the percent is replaced by %25.

이 생성자는가 Uri 액세스 가능한 리소스를 참조 하는지 확인 하지 않습니다.This constructor does not ensure that the Uri refers to an accessible resource.

적용 대상

Uri(String, UriKind)

URI가 지정된 Uri 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the Uri class with the specified URI. 이 생성자를 사용하면 URI 문자열이 상대 URI 또는 절대 URI인지, 아니면 결정되지 않았는지를 지정할 수 있습니다.This constructor allows you to specify if the URI string is a relative URI, absolute URI, or is indeterminate.

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 인스턴스가 나타낼 리소스를 식별하는 문자열입니다.A string that identifies the resource to be represented by the Uri instance. 문자열 형식에서 IPv6 주소는 대괄호로 묶어야 합니다.Note that an IPv6 address in string form must be enclosed within brackets. 예를 들어 "http://[2607:f8b0:400d:c06::69]"입니다.For example, "http://[2607:f8b0:400d:c06::69]".

uriKind
UriKind

URI 문자열이 상대 URI 또는 절대 URI인지, 아니면 결정되지 않았는지를 지정합니다.Specifies whether the URI string is a relative URI, absolute URI, or is indeterminate.

예외

uriKind이 잘못되었습니다.uriKind is invalid.

uriString이(가) null인 경우uriString is null.

참고: Windows 스토어 앱용 .NET 또는 이식 가능한 클래스 라이브러리에서 대신 기본 클래스 예외 FormatException을 catch합니다.Note: In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, FormatException, instead.

uriString이 상대 URI를 포함하고 uriKindAbsolute인 경우uriString contains a relative URI and uriKind is Absolute.

또는or uriString이 절대 URI를 포함하고 uriKindRelative인 경우uriString contains an absolute URI and uriKind is Relative.

또는or uriString가 비어 있는 경우uriString is empty.

또는-or- uriString에서 지정된 구성표가 올바르게 구성되지 않았습니다.The scheme specified in uriString is not correctly formed. CheckSchemeName(String)을 참조하세요.See CheckSchemeName(String).

또는-or- uriString에 너무 많은 슬래시가 들어 있습니다.uriString contains too many slashes.

또는-or- uriString에서 지정된 암호가 올바르지 않습니다.The password specified in uriString is not valid.

또는-or- uriString에서 지정된 호스트 이름이 올바르지 않습니다.The host name specified in uriString is not valid.

또는-or- uriString에서 지정된 파일 이름이 올바르지 않습니다.The file name specified in uriString is not valid.

또는-or- uriString에서 지정된 사용자 이름이 올바르지 않습니다.The user name specified in uriString is not valid.

또는-or- uriString에서 지정된 호스트 또는 기관 이름은 백슬래시로 종료할 수 없습니다.The host or authority name specified in uriString cannot be terminated by backslashes.

또는-or- uriString에서 지정된 포트 번호가 올바르지 않거나 해당 번호를 구문 분석할 수 없습니다.The port number specified in uriString is not valid or cannot be parsed.

또는-or- uriString의 길이가 65519자를 초과합니다.The length of uriString exceeds 65519 characters.

또는-or- uriString에서 지정된 구성표 길이가 1023자를 초과합니다.The length of the scheme specified in uriString exceeds 1023 characters.

또는-or- uriString에 잘못된 문자 시퀀스가 있습니다.There is an invalid character sequence in uriString.

또는-or- uriString에 지정된 MS-DOS 경로는 c:\\로 시작해야 합니다.The MS-DOS path specified in uriString must start with c:\\.

설명

Relative and absolute URIs have different restrictions on their format. 예를 들어 상대 URI에는 구성표 또는 기관이 필요 하지 않습니다.For example, a relative URI does not require a scheme or an authority. 에서 지정 하는 값은 uriKind 전달 된 URI의 형식과 일치 해야 합니다 uriString .The value you specify in uriKind must match the type of URI passed in uriString. 그러나 RelativeOrAbsolute 가 지정 된 경우 URI 문자열은 상대 또는 절대 경로일 수 있습니다.However, if RelativeOrAbsolute is specified, the URI string can be relative or absolute.

적용 대상

Uri(Uri, String)

지정된 기본 URI와 상대 URI 문자열을 기반으로 Uri 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the Uri class based on the specified base URI and relative URI string.

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입니다.The base URI.

relativeUri
String

기본 URI에 추가할 상대 URI입니다.The relative URI to add to the base URI.

예외

baseUri이(가) null인 경우baseUri is null.

baseUri가 절대 Uri 인스턴스가 아닙니다.baseUri is not an absolute Uri instance.

참고: Windows 스토어 앱용 .NET 또는 이식 가능한 클래스 라이브러리에서 대신 기본 클래스 예외 FormatException을 catch합니다.Note: In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, FormatException, instead.

baseUrirelativeUri를 결합하여 만든 URI가 비어 있거나 공백만 있습니다.The URI formed by combining baseUri and relativeUri is empty or contains only spaces.

또는-or- baseUrirelativeUri를 결합하여 만든 URI에서 지정된 구성이 올바르지 않습니다.The scheme specified in the URI formed by combining baseUri and relativeUri is not valid.

또는-or- baseUrirelativeUri를 결합하여 만든 URI가 너무 많은 슬래시를 포함합니다.The URI formed by combining baseUri and relativeUri contains too many slashes.

또는-or- baseUrirelativeUri를 결합하여 만든 URI에 지정된 암호가 올바르지 않습니다.The password specified in the URI formed by combining baseUri and relativeUri is not valid.

또는-or- baseUrirelativeUri를 결합하여 구성한 URI에 지정된 호스트 이름이 올바르지 않습니다.The host name specified in the URI formed by combining baseUri and relativeUri is not valid.

또는-or- baseUrirelativeUri를 결합하여 구성한 URI에 지정된 파일 이름이 올바르지 않습니다.The file name specified in the URI formed by combining baseUri and relativeUri is not valid.

또는-or- baseUrirelativeUri를 결합하여 구성한 URI에 지정된 사용자 이름이 올바르지 않습니다.The user name specified in the URI formed by combining baseUri and relativeUri is not valid.

또는-or- baseUrirelativeUri를 결합하여 구성한 URI에 지정된 호스트 또는 인증 기관 이름은 백슬래시로 종료될 수 없습니다.The host or authority name specified in the URI formed by combining baseUri and relativeUri cannot be terminated by backslashes.

또는-or- baseUrirelativeUri를 결합하여 구성한 URI에 지정된 포트 번호가 올바르지 않거나 구문 분석할 수 없습니다.The port number specified in the URI formed by combining baseUri and relativeUri is not valid or cannot be parsed.

또는-or- baseUrirelativeUri를 결합하여 구성한 URI의 길이가 65519자를 초과합니다.The length of the URI formed by combining baseUri and relativeUri exceeds 65519 characters.

또는-or- baseUrirelativeUri를 결합하여 구성한 URI에 지정된 스키마의 길이가 1023자를 초과합니다.The length of the scheme specified in the URI formed by combining baseUri and relativeUri exceeds 1023 characters.

또는-or- baseUrirelativeUri를 결합하여 구성한 URI에 잘못된 문자 시퀀스가 있습니다.There is an invalid character sequence in the URI formed by combining baseUri and relativeUri.

또는-or- uriString에 지정된 MS-DOS 경로는 c:\\로 시작해야 합니다.The MS-DOS path specified in uriString must start with c:\\.

예제

다음 예제에서는 상대 Uri를 결합 하 여 클래스의 새 인스턴스를 만들고 Uri http://www.contoso.com catalog/shownew.htm 절대 uri를 구성 합니다 http://www.contoso.com/catalog/shownew.htm .The following example creates a new instance of the Uri class by combining the relative URIs http://www.contoso.com and catalog/shownew.htm to form the absolute URI 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());
Dim baseUri As New Uri("http://www.contoso.com")
Dim myUri As New Uri(baseUri, "catalog/shownew.htm")

Console.WriteLine(myUri.ToString())

설명

This constructor creates a <xref:System.Uri> instance by combining the baseUri and the relativeUri. relativeUri가 절대 URI (스키마, 호스트 이름 및 선택적으로 포트 번호를 포함 하는) 이면 인스턴스는 Uri 만 사용 하 여 만들어집니다 relativeUri .If relativeUri is an absolute URI (containing a scheme, host name, and optionally a port number), the Uri instance is created using only relativeUri.

baseUri 상대 부분 (예:)이 있는 경우에는 /api /api/ 의 상대 부분이 baseUri 생성 된에서 유지 되어야 하는 경우 상대 부분은 슬래시 (와 같이)로 종결 되어야 합니다 Uri .If the baseUri has relative parts (like /api), then the relative part must be terminated with a slash, (like /api/), if the relative part of baseUri is to be preserved in the constructed Uri.

또한가 슬래시로 시작 하는 경우에 relativeUri 는의 상대 부분이 baseUriAdditionally, if the relativeUri begins with a slash, then it will replace any relative part of the baseUri

이 생성자는가 Uri 액세스 가능한 리소스를 참조 하는지 확인 하지 않습니다.This constructor does not ensure that the Uri refers to an accessible resource.

적용 대상

Uri(Uri, Uri)

지정된 기본 Uri 인스턴스와 상대 Uri 인스턴스의 조합을 기반으로 Uri 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the Uri class based on the combination of a specified base Uri instance and a relative Uri instance.

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입니다.An absolute Uri that is the base for the new Uri instance.

relativeUri
Uri

Uri와 결합되는 상대 baseUri 인스턴스입니다.A relative Uri instance that is combined with baseUri.

예외

baseUri가 절대 Uri 인스턴스가 아닙니다.baseUri is not an absolute Uri instance.

baseUri이(가) null인 경우baseUri is null.

baseUri가 절대 Uri 인스턴스가 아닙니다.baseUri is not an absolute Uri instance.

참고: Windows 스토어 앱용 .NET 또는 이식 가능한 클래스 라이브러리에서 대신 기본 클래스 예외 FormatException을 catch합니다.Note: In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, FormatException, instead.

baseUrirelativeUri를 결합하여 만든 URI가 비어 있거나 공백만 있습니다.The URI formed by combining baseUri and relativeUri is empty or contains only spaces.

또는-or- baseUrirelativeUri를 결합하여 만든 URI에서 지정된 구성이 올바르지 않습니다.The scheme specified in the URI formed by combining baseUri and relativeUri is not valid.

또는-or- baseUrirelativeUri를 결합하여 만든 URI가 너무 많은 슬래시를 포함합니다.The URI formed by combining baseUri and relativeUri contains too many slashes.

또는-or- baseUrirelativeUri를 결합하여 만든 URI에 지정된 암호가 올바르지 않습니다.The password specified in the URI formed by combining baseUri and relativeUri is not valid.

또는-or- baseUrirelativeUri를 결합하여 구성한 URI에 지정된 호스트 이름이 올바르지 않습니다.The host name specified in the URI formed by combining baseUri and relativeUri is not valid.

또는-or- baseUrirelativeUri를 결합하여 구성한 URI에 지정된 파일 이름이 올바르지 않습니다.The file name specified in the URI formed by combining baseUri and relativeUri is not valid.

또는-or- baseUrirelativeUri를 결합하여 구성한 URI에 지정된 사용자 이름이 올바르지 않습니다.The user name specified in the URI formed by combining baseUri and relativeUri is not valid.

또는-or- baseUrirelativeUri를 결합하여 구성한 URI에 지정된 호스트 또는 인증 기관 이름은 백슬래시로 종료될 수 없습니다.The host or authority name specified in the URI formed by combining baseUri and relativeUri cannot be terminated by backslashes.

또는-or- baseUrirelativeUri를 결합하여 구성한 URI에 지정된 포트 번호가 올바르지 않거나 구문 분석할 수 없습니다.The port number specified in the URI formed by combining baseUri and relativeUri is not valid or cannot be parsed.

또는-or- baseUrirelativeUri를 결합하여 구성한 URI의 길이가 65519자를 초과합니다.The length of the URI formed by combining baseUri and relativeUri exceeds 65519 characters.

또는-or- baseUrirelativeUri를 결합하여 구성한 URI에 지정된 스키마의 길이가 1023자를 초과합니다.The length of the scheme specified in the URI formed by combining baseUri and relativeUri exceeds 1023 characters.

또는-or- baseUrirelativeUri를 결합하여 구성한 URI에 잘못된 문자 시퀀스가 있습니다.There is an invalid character sequence in the URI formed by combining baseUri and relativeUri.

또는-or- uriString에 지정된 MS-DOS 경로는 c:\\로 시작해야 합니다.The MS-DOS path specified in uriString must start with c:\\.

예제

이 예에서는 절대 Uri 인스턴스 absoluteUri 및 상대 인스턴스를 만듭니다 Uri relativeUri .This example creates an absolute Uri instance, absoluteUri, and a relative Uri instance, relativeUri. Uri 인스턴스인가 combinedUri 이러한 두 인스턴스에서 만들어집니다.A new Uri instance, combinedUri, is then created from these two instances.

// 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.
    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

설명

This constructor creates a new <xref:System.Uri> instance by combining an absolute <xref:System.Uri> instance, baseUri, with a relative <xref:System.Uri> instance, relativeUri. relativeUri가 절대 Uri 인스턴스이거나 (스키마, 호스트 이름 및 선택적으로 포트 번호를 포함 하는 경우) Uri 만 사용 하 여 인스턴스를 만듭니다 relativeUri .If relativeUri is an absolute Uri instance (containing a scheme, host name, and optionally a port number), the Uri instance is created using only relativeUri.

baseUri 상대 부분 (예:)이 있는 경우에는 /api /api/ 의 상대 부분이 baseUri 생성 된에서 유지 되어야 하는 경우 상대 부분은 슬래시 (와 같이)로 종결 되어야 합니다 Uri .If the baseUri has relative parts (like /api), then the relative part must be terminated with a slash, (like /api/), if the relative part of baseUri is to be preserved in the constructed Uri.

또한가 슬래시로 시작 하는 경우에 relativeUri 는의 상대 부분이 baseUriAdditionally, if the relativeUri begins with a slash, then it will replace any relative part of the baseUri

이 생성자는가 Uri 액세스 가능한 리소스를 참조 하는지 확인 하지 않습니다.This constructor does not ensure that the Uri refers to an accessible resource.

적용 대상

Uri(Uri, String, Boolean)

주의

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

주의

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

문자 이스케이프를 명시적으로 제어하여 지정된 기본 URI와 상대 URI를 기반으로 Uri 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the Uri class based on the specified base and relative URIs, with explicit control of character escaping.

public:
 Uri(Uri ^ baseUri, System::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. http://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")]
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);
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
[<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
Public Sub New (baseUri As Uri, relativeUri As String, dontEscape As Boolean)

매개 변수

baseUri
Uri

기본 URI입니다.The base URI.

relativeUri
String

기본 URI에 추가할 상대 URI입니다.The relative URI to add to the base URI.

dontEscape
Boolean

uriString이 이스케이프되면 true이고, 그렇지 않으면 false입니다.true if uriString is completely escaped; otherwise, false.

특성

예외

baseUri이(가) null인 경우baseUri is null.

baseUri가 절대 Uri 인스턴스가 아닙니다.baseUri is not an absolute Uri instance.

baseUrirelativeUri를 결합하여 만든 URI가 비어 있거나 공백만 있습니다.The URI formed by combining baseUri and relativeUri is empty or contains only spaces.

또는-or- baseUrirelativeUri를 결합하여 만든 URI에서 지정된 구성이 올바르지 않습니다.The scheme specified in the URI formed by combining baseUri and relativeUri is not valid.

또는-or- baseUrirelativeUri를 결합하여 만든 URI가 너무 많은 슬래시를 포함합니다.The URI formed by combining baseUri and relativeUri contains too many slashes.

또는-or- baseUrirelativeUri를 결합하여 만든 URI에 지정된 암호가 올바르지 않습니다.The password specified in the URI formed by combining baseUri and relativeUri is not valid.

또는-or- baseUrirelativeUri를 결합하여 구성한 URI에 지정된 호스트 이름이 올바르지 않습니다.The host name specified in the URI formed by combining baseUri and relativeUri is not valid.

또는-or- baseUrirelativeUri를 결합하여 구성한 URI에 지정된 파일 이름이 올바르지 않습니다.The file name specified in the URI formed by combining baseUri and relativeUri is not valid.

또는-or- baseUrirelativeUri를 결합하여 구성한 URI에 지정된 사용자 이름이 올바르지 않습니다.The user name specified in the URI formed by combining baseUri and relativeUri is not valid.

또는-or- baseUrirelativeUri를 결합하여 구성한 URI에 지정된 호스트 또는 인증 기관 이름은 백슬래시로 종료될 수 없습니다.The host or authority name specified in the URI formed by combining baseUri and relativeUri cannot be terminated by backslashes.

또는-or- baseUrirelativeUri를 결합하여 구성한 URI에 지정된 포트 번호가 올바르지 않거나 구문 분석할 수 없습니다.The port number specified in the URI formed by combining baseUri and relativeUri is not valid or cannot be parsed.

또는-or- baseUrirelativeUri를 결합하여 구성한 URI의 길이가 65519자를 초과합니다.The length of the URI formed by combining baseUri and relativeUri exceeds 65519 characters.

또는-or- baseUrirelativeUri를 결합하여 구성한 URI에 지정된 스키마의 길이가 1023자를 초과합니다.The length of the scheme specified in the URI formed by combining baseUri and relativeUri exceeds 1023 characters.

또는-or- baseUrirelativeUri를 결합하여 구성한 URI에 잘못된 문자 시퀀스가 있습니다.There is an invalid character sequence in the URI formed by combining baseUri and relativeUri.

또는-or- uriString에 지정된 MS-DOS 경로는 c:\\로 시작해야 합니다.The MS-DOS path specified in uriString must start with c:\\.

예제

다음 예제에서는 상대 Uri를 결합 하 여 클래스의 새 인스턴스를 만들고 Uri http://www.contoso.com Hello%20World.htm 절대 uri를 구성 합니다.The following example creates a new instance of the Uri class by combining the relative URIs http://www.contoso.com and Hello%20World.htm to form an absolute 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);

Dim baseUri As New Uri("http://www.contoso.com")
Dim myUri As New Uri(baseUri, "Hello%20World.htm", False)

설명

This constructor creates a <xref:System.Uri> instance by combining baseUri and relativeUri. 전달 된 URI relativeUri 가 절대 uri (스키마, 호스트 이름 및 포트 번호를 포함 하는 경우) 인 경우에만를 Uri 사용 하 여 인스턴스를 만듭니다 relativeUri .If the URI passed in relativeUri is an absolute URI (containing a scheme, host name, and optionally a port number), the Uri instance is created using only relativeUri.

dontEscape매개 변수는 예약 된 문자가 이스케이프 시퀀스로 변환 되는지 여부를 제어 합니다.The dontEscape parameter controls whether reserved characters are translated into escape sequences. 이 매개 변수는 true URI의 모든 예약 된 문자가 이스케이프 된 것이 확실 한 경우에만로 설정 해야 합니다.This parameter should be set to true only if you are certain that all reserved characters in the URI have been escaped. true완전히 이스케이프 되지 않은 URI의 값을로 설정 하면 예기치 않은 동작이 발생할 수 있습니다.Setting the value to true for a URI that has not been completely escaped can cause unexpected behavior. 이 매개 변수를 항상로 설정 하는 것이 좋습니다 false .It is strongly recommended that you always set this parameter to false. dontEscape가로 설정 된 경우 false 생성자 는% (%)의 모든 항목을 확인 하 여 모든 예약 된 문자를 이스케이프 처리 합니다. 다음에 올바른 이스케이프 시퀀스가 나옵니다.If dontEscape is set to false, the constructor escapes any reserved characters by checking that all occurrences of percent (%) are followed by a valid escape sequence. 백분율 다음의 문자 시퀀스가 잘못 된 경우 백분율은 %25로 바뀝니다.If the character sequence following a percent is not valid, the percent is replaced by %25.

이 생성자는가 Uri 액세스 가능한 리소스를 참조 하는지 확인 하지 않습니다.This constructor does not ensure that the Uri refers to an accessible resource.

호출자 참고

보안 문제 때문에 애플리케이션은이 생성자를 호출 하지이 URI 문자열을 사용 하 여 신뢰할 수 없는 소스에서 사용 하 여 dontEscapetrue합니다.Because of security concerns, your application should not call this constructor with URI strings from untrusted sources and with dontEscape set to true. Alternately, you can check a URI string for validity by calling the <see cref="M:System.Uri.IsWellFormedOriginalString" /> method prior to calling this constructor.

적용 대상